スレ立てるまでもない質問はここで 149匹目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2018/06/17(日) 10:31:28.00
質問する前にGoogleで検索しましょう。 http://www.google.com/
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。
ワッチョイは住人が離れスレが寂れます導入禁止。

前スレ
スレ立てるまでもない質問はここで 148匹目 [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1495618637/
0202デフォルトの名無しさん
垢版 |
2019/05/06(月) 15:56:53.92ID:DT5L2VlP
スレ立てるまでもない質問はここで専用スレがある質問はそこで
マナーも守れないルール軽視の奴がライセンスを語るのは滑稽です
0203デフォルトの名無しさん
垢版 |
2019/05/07(火) 20:13:46.41ID:xre2YuCY
ふとエロゲに使えるタスクトレイ常駐型の「CapsLockをマウスの左クリックに入れ替える」ソフトを作りたいと思いました。
知ってる言語がJavaだけだったのでなんとかEclipseで作れないもんかと調べて,学校の先生にも質問したのですが,どうもJavaでは難しいらしいです。

C言語は凄く難しいらしいので他に簡単に作れそうな,言語があれば教えていただきたいです。
0205デフォルトの名無しさん
垢版 |
2019/05/09(木) 08:25:44.14ID:aC1HSUuO
デバッガーを自作してみたいのですが(チートエンジンみたいな)どんな言語やシステムを学べばいいでしょうか?
大まかでいいので教えて下さい
0207デフォルトの名無しさん
垢版 |
2019/05/10(金) 01:10:33.46ID:MYwtsRO1
Fooクラスに座標を設定する SetPos(x,y) というメソッドがあるとする
引数を省略しfoo.SetPos(x)、ないしnull指定でfoo.SetPos(x,null)と記述できる場合
y座標はどうなるイメージある?

(1) 0
(2) クラス側に都合の良い値に設定される
(3) 現在のy値のまま変更しない
(4) y値は指定されずfooの座標データは未完成のまま
(5) xもろともfooの座標データを削除
(6) その他
0208デフォルトの名無しさん
垢版 |
2019/05/10(金) 06:46:59.74ID:WnIqtory
予想するのは(1)(3)(4)
期待するのは(3)
(1)は気が利かない残念な設計
0に移動したいときは0を指定しますので(3)にしてくださいよ
(2)は利用者側にも都合の良い強い既定値がある要件下なら可
でもその特別な座標に移動する別メソッドを用意したほうがいい
(4)はJavaScriptあたりで何も考えていないとやりがちなぬるぽの元
座標未完成の状態に価値があるなら可
(5)のように設計すべき状況はほとんどない
0209デフォルトの名無しさん
垢版 |
2019/05/10(金) 18:45:33.73ID:yjXVmj4x
mavenのローカルリポジトリはgitのローカルリポジトリと同じですか?
0210デフォルトの名無しさん
垢版 |
2019/05/10(金) 18:48:02.92ID:yjXVmj4x
https://qiita.com/kyoyyy/items/161b6905f45bee2efe21
リモートリポジトリの更新はpushだと説明されています。
しかしgithubのリポジトリを見るとcommitsというタブがあります。
pushesではなく。なぜですか?
0211207
垢版 |
2019/05/10(金) 19:00:00.42ID:njh/aYVe
>>208
ありがとう
(3)にしつつ別関数で(2)を実現できるようにするわ
0212さすらいの蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/05/10(金) 19:04:40.08ID:aI9HbBXI
>>210
更新をするコマンドはgit pushだ。
しかし、更新をしたという事実はcommitであり、各コミットはハッシュタグという16進数の文字列で区別する。commitsは名詞commitの複数形。
0213さすらいの蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/05/10(金) 19:06:48.32ID:aI9HbBXI
pushというのは、ローカルリポジトリをリモートリポジトリに「押し出す」ことだと考えてもらいたい。
その反対はpullだ。
0214デフォルトの名無しさん
垢版 |
2019/05/10(金) 19:17:58.71ID:yjXVmj4x
操作はpushでも登録されたのはcommitオブジェクトだ、みたいなニュアンスですか
0215さすらいの蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/05/10(金) 19:26:53.10ID:CF7UUf9v
リモートでもローカルでもコミットという単位で変更が記録される。変更内容は、差分(diff)という形で記録される。
0216さすらいの蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/05/10(金) 19:32:49.01ID:CF7UUf9v
ローカルでコミットを作るのがgit commitというコマンドだ。
git commit -m "名前"で、コミットに名前が付けられる。
コミット単位でリモートにプッシュするのがgit pushというコマンドだ。
0220さすらいの蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/05/10(金) 19:50:08.22ID:CF7UUf9v
リポジトリ(repository)は、昔はお城の倉庫・弾薬庫という意味だったと思う。projectやsolutionみたいなバージョン管理の単位だろう
0221デフォルトの名無しさん
垢版 |
2019/05/10(金) 21:44:07.60ID:yjXVmj4x
pullはリモートリポジトリから作業ディレクトリに持ってくる事みたいですが、
pull requestを相手が受けた場合、
相手の作業ディレクトリにこちらのリモートリポジトリから
落とすという事になりますか?
それとも相手のリモートリポジトリに直接反映されますか?
pull requestを受けた側がどういう作業をするのか、が良く分かってません。
0222デフォルトの名無しさん
垢版 |
2019/05/10(金) 22:07:33.82ID:yjXVmj4x
https://confluence.atlassian.com/bitbucketserver/basic-git-commands-776639767.html
> and also tell you what branch you're currently in:

”現在居るブランチ”とはどういう概念ですか?
“ブランチに居る”という事の意味が分かっていません。
何かブランチを操作する時、そのブランチ名を指定すれば良いのではないですか?
現在居るブランチという状態がどこかに存在する必要性がありますか?
0223さすらいの蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/05/10(金) 22:25:35.57ID:CF7UUf9v
>>221
git pullはGitのコマンドだが、Pull Requestはどちらかというと、GitHubなどの機能じゃないかな。
他のユーザーにPRされるとGitHubにページが増えて、そこのページにボタンがあって、そのボタンを押すと変更点が適用されるという流れ。
0224さすらいの蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/05/10(金) 22:29:53.42ID:CF7UUf9v
>>222
branchを直訳すると枝分かれ。ソースコードの変更は、木構造のように枝分かれする。git branchで現在のブランチ名と、今あるブランチ名の一覧を表示できる。
ブランチに移動するときはgit checkout ブランチ名。
masterは特殊なブランチ名で、現在の主流の開発段階を意味する。
0225さすらいの蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/05/10(金) 22:32:15.65ID:CF7UUf9v
新しいブランチを作成するときはgit checkout -b ブランチ名。そこで変更してコミットすると、そのブランチでコミットが追加される。
0227デフォルトの名無しさん
垢版 |
2019/05/11(土) 08:06:39.50ID:bKjSBhWB
>>207-211
SetPos なら、0 だろ

3. は、UpdatePos とか、別の名前で作るべき!
紛らわしくて仕方がない

Ruby on Rails でも、HTTP メソッドは、
put で置換、patch で一部更新とか、API を分けるのが普通
0229デフォルトの名無しさん
垢版 |
2019/05/11(土) 16:04:30.81ID:QNsNRb8x
全く無知な状態からprogateやってます。

とりあえずクラウドワークス等でお小遣い稼ぎから、
いずれはもっと高度な事をしたいですが今のところHTML,、CSSをやってます。
他にもやるべき科目、あとprogateを終わった後の勉強法など宜しければご教示ください。><
0231デフォルトの名無しさん
垢版 |
2019/05/12(日) 01:46:28.96ID:AJtL4p1I
マルチプロジェクトで全プロジェクトについて文字コードを設定したいんですが
どうすればいいですか?
全タスク、およびjavadocについて文字コードを設定したい。
0232デフォルトの名無しさん
垢版 |
2019/05/12(日) 02:46:39.82ID:AJtL4p1I
自己解決
0233デフォルトの名無しさん
垢版 |
2019/05/12(日) 13:25:42.38ID:dSbddX8d
>>229
HTML, CSS/SASS, JavaScript(JS), jQuery などは、web制作管理板へ

HTML, CSS の次は、SASS とか?
プログラミングなら、JS, jQuery とか
0234デフォルトの名無しさん
垢版 |
2019/05/12(日) 15:56:43.05ID:aasV4/zo
関数名で悩んでます良いの教えてください
bool 入力した文字を許容するか判定する関数(char input)
中の実装は様々で例えば数字のみを受け入れたりアルファベットのみ受け入れたりだったりです
0235デフォルトの名無しさん
垢版 |
2019/05/12(日) 16:37:15.80ID:OoMn1CYl
× bool 入力した文字を許容するか判定する関数(char input)
○ bool ○○か?(char input)
0237デフォルトの名無しさん
垢版 |
2019/05/12(日) 16:55:37.67ID:aasV4/zo
正確には関数ポインタで関数を持つ変数の名前なので数字やアルファベットなど何が入ってるかはわかりません
0239デフォルトの名無しさん
垢版 |
2019/05/12(日) 17:31:06.44ID:AJtL4p1I
SSLとかで共通鍵は比較的短期間で期限切れになると思うんですけど
新しい鍵に交換するタイミングで何か一連の通信が発生していたら
自分が鍵Aで送って、でも鍵A'に更新された後に相手が受け取る、
みたいな事が起きそうなんですが
その辺どう解決されてるか知ってる人居ますか?
0241デフォルトの名無しさん
垢版 |
2019/05/12(日) 20:43:36.71ID:WzX9vNA0
FA装置のソフト屋になりたいんだけど何勉強したらええ?
0242デフォルトの名無しさん
垢版 |
2019/05/12(日) 20:45:10.61ID:FaNvA2KI
>>241
物の調べ方から勉強したらどうかな
こんな掲示板でそんな質問するようじゃ何の見込みもない
0243デフォルトの名無しさん
垢版 |
2019/05/12(日) 22:00:29.30ID:tmAHrWU+
C#のbaseの使い方がよくわからないのですが
baseのカッコ内には基本コンストラクタと同じ引数を書けばいいのですか?
簡単な例を出して教えてほしいです
0245デフォルトの名無しさん
垢版 |
2019/05/13(月) 14:13:47.02ID:Ar5YtP/N
switch文のサンプル見ると
最後にdefaultが書かれてることが多い(というか見た限りは全部そうだった)と思いますが

if (x)
 x
elif (y)
 y
else
 x
って時は

switch
 case x
 default
  x
  break
 case y
  y
  break
でいいんですよね?一応動きます
言語はJavaScriptです
0248デフォルトの名無しさん
垢版 |
2019/05/13(月) 14:41:57.36ID:/SO0MCI1
パンくずリスト(Breadcrumb navigation)ってもうちょっと技術的で固くて短い言い方ないの?
0249デフォルトの名無しさん
垢版 |
2019/05/14(火) 16:56:32.29ID:fCIExWJh
サーバーと2,3回通信するスマホアプリを作ってて
スマホのような携帯端末はネットワークが細いから1回送ったデータは
セッション変数に保存して2回目以降はそこから取り出すようにした方がいいのか、
それともサーバーのメモリを食わないようにセッション変数はできるだけ使用せず
通信の度に送りなおしたほうがいいのかどっちだろ?
0250デフォルトの名無しさん
垢版 |
2019/05/15(水) 00:39:04.38ID:ApAyhkpz
社内のPC関係管理してる部署に異動になって、プログラム作るときに
splitするだけの内容でも自作関数にして最小単位で作れ
と言われているんですが、これのメリットって何なんでしょうか
どうも1行でも自作関数制作という事に慣れず、気をぬくとそのまま記載してしまうのです
0251デフォルトの名無しさん
垢版 |
2019/05/15(水) 00:44:55.59ID:qxUiM81Y
はぁ?関数にするかどうかは行数じゃなくて
それで可読性をあげられるかどうかだろ

可読性を上げる = 読まなくていいようにするってことな
そのsplitするだけの内容が、関数にすることで、
関数の中を読まなくてすむような、適切な名前をつけられるのであれば
そうすべきだし、結局関数の中まで追わないと意味不明なら関数にする必要ないし
0252デフォルトの名無しさん
垢版 |
2019/05/15(水) 04:58:48.52ID:vAqxpv06
main関数とか存在しないからclassで例えると
こんな感じのエラーにならないが問題だらけのコードを書かないようにじゃね

class Foo
 let private;
 function bar();
 function baz();
 document.write("Hello World!");
0253デフォルトの名無しさん
垢版 |
2019/05/15(水) 07:56:25.22ID:ApAyhkpz
>>251
いやもう本当に「splitするだけ」なんですよね
呼び出し元では「AwoBdekugiru」のように自作関数名を書くか「split」と直接書くかの違いだけで
コード分からない人が読むなら前者の方が良いかもしれないんですが
コード読む人ってある程度はわかるはずですし、splitを書き換えるって事もないと思うので
メンテ性でも可読性でも後者の方が良いと思うんですよね
0254デフォルトの名無しさん
垢版 |
2019/05/15(水) 07:59:48.08ID:c4ryy/tS
何でもワンクッション置く事、
自前の関数でラッピングすることの心地よさみたいなものは確かにあるw
0256デフォルトの名無しさん
垢版 |
2019/05/15(水) 08:39:05.32ID:BLyhF7F0
好意的に解釈するなら移植性を重視していて
言語固有のライブラリとビジネスロジックとを分離することに重きをおいているとか
0257デフォルトの名無しさん
垢版 |
2019/05/15(水) 08:48:16.69ID:BLyhF7F0
現実的に解釈するなら各社の情シスにまともなプログラマーがいるとは限らず
デメリットの方が多いことに誰かが気づいていたとしても
今からコーディングルールを崩してカオスになるよりは…と
消極的に現状維持を選んでいるだけということも
0258デフォルトの名無しさん
垢版 |
2019/05/15(水) 09:46:18.97ID:AfKgri37
>>245-247
JavaScript の質問は、web制作管理板の方へ書き込んでください!

>>249
頻繁に、サーバーと通信するのは、あまり良くない。
クライアント側のアプリ内で、データを持っていて、たまに通信する方がよい

ドラクエなどは、0.5秒毎に通信するけど、通信データは最小限に抑えている

>>250-257
色々な部署で、コードを再利用したいのだろう
0259デフォルトの名無しさん
垢版 |
2019/05/15(水) 21:38:29.52ID:FQJg1oiP
独習C#のコードなんですが
https://ideone.com/ybzLth
21行目の=this と23行目のo.IsOddの前についてる!の意味が分かりません
インターフェイスの修飾子が付いてるから派生先のクラス型では呼べないのは理解出来てるのですが
上記二点は何なのでしょうか?
0261経団連 ◆T6xkBnTXz7B0
垢版 |
2019/05/15(水) 21:51:15.83ID:lIe3zIuL
恐らく常識だが、「整数が奇数でなければ偶数である」という事実を使っている。
0262デフォルトの名無しさん
垢版 |
2019/05/15(水) 21:55:17.33ID:PcHnKSs6
独学用の教科書を謳っている本の解説をここでやってもらうって間違ってない?
C#の勉強より本の内容を把握する方が大変そう
0263デフォルトの名無しさん
垢版 |
2019/05/15(水) 21:57:15.90ID:FQJg1oiP
>>260
インスタンスは new ○○じゃないのでしょうか?
thisがこのような形で使われるのはこの本の中ではここが始めてでイマイチわかりません…
説明もないです
!が否定なのも何度か!=という表現が使われてるので分かるのですが
メソッドを呼び出す時に!を使うのは今回の章が初めてなので何がどう作用してるのかもわかりません…('A`)
すいません
0264経団連 ◆T6xkBnTXz7B0
垢版 |
2019/05/15(水) 22:11:28.38ID:lIe3zIuL
public bool IsEven(int x)
{
IEven o =this;
return !o.IsOdd(x);
}
これはoがthisの別名になるから
public bool IsEven(int x)
{
return !this.IsOdd(x);
} と同じ。さらに
public bool IsEven(int x)
{
return !IsOdd(x);
}
と同じ。 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
0265デフォルトの名無しさん
垢版 |
2019/05/16(木) 01:02:47.93ID:UYyJJgmj
メソッドを呼び出すときに!を使う特別ルールがあるわけではないよ
演算子の優先順位がわかってなくて混乱してるだけだと思う
1 + 2 * 3 の答えが 9 ではなく 7 であるという話に似ている
この式は分かりやすく書くと
1 + (2 * 3)

return !o.IsOdd(x);
を分かりやすく書くと
return !(o.IsOdd(x));
さらに次のようにも書ける
bool b = o.IsOdd(x);
return !b;
0266デフォルトの名無しさん
垢版 |
2019/05/16(木) 15:41:12.61ID:1R3UowzH
PHPのクラスは、
宣言と実装を分ける事はできんのですかね
0268デフォルトの名無しさん
垢版 |
2019/05/17(金) 18:31:52.56ID:Ytu1aTid
ゲーム用のRTOS的なのってないんだろうか。コンシューマゲーム機はハードメーカーが用意してくれているけど
PC等で汎用的に使える奴
0271デフォルトの名無しさん
垢版 |
2019/05/17(金) 18:44:16.58ID:htGImBGd
ゲーム機なんてバックグラウンドでいろんなサービスが動いてるし
フレームドロップし放題だからRTOSなんて必要とされてないだろう
RTOSの想定する用途とは真逆のものすごく高級で雑な世界
0272デフォルトの名無しさん
垢版 |
2019/05/18(土) 14:44:43.61ID:+n2NWOyo
クリックするとイベントが発火するボタンがあるする
これに効果音を乗せる場合、押下時に紐付ける?
それとも発火と同じクリック時?
0277デフォルトの名無しさん
垢版 |
2019/05/19(日) 20:35:17.21ID:pSjwtj6N
スレチだったらすみませんが誘導をお願いします。
筋トレの回数を記録するスマホアプリの開発がしたいです。日付・種目・セット数を保存するだけの簡易なものを想定しています。
以下の条件を満たす開発環境を利用したいのですが、何がおすすめでしょうか。
・Windows10で利用可能(linuxの仮想環境は用意出来ますが、Xcodeが使えないと思っています)
・Android/iPhoneのどちらでも使える(クロスプラットフォームが理想ですが、別々に作ったほうが楽ならそれでも可)
・サーバ通信なし(アプリだけで処理が完結する)

ご意見頂けると幸いです。よろしくお願いします。
0278デフォルトの名無しさん
垢版 |
2019/05/19(日) 20:55:48.28ID:oL0p/fvO
独習C#に
”tryブロックの中からメソッドを呼び出しそのメソッドの処理の中で例外が投げられたらcatchブロックで補足できる(ただし、そのメソッドの処理の中で例外が補足された場合には当然ながら呼び出し元では補足されません)”

というよく分かり辛い表現があるのですが
メソッド呼び出し中に発生した例外は補足されるのでしょうかされないのでしょうか…?
0279デフォルトの名無しさん
垢版 |
2019/05/19(日) 21:12:34.86ID:PSBPTvES
>>278
private void methodA()
{
try { methodB(); }
catch {/*例外処理A*/}
}
このmethodAから呼び出すmethodBに関して
・呼出した先で例外が発生すると呼び出し元でcatchされる
private void methodB()
{
/*何らかの処理、例外は呼び出し元の例外処理Aで捕捉される*/
}
・別のパターン
「そのメソッドの処理の中で例外が補足された場合」呼び出し先で例外処理は完了するのでmethodAではcatchされない
private void methodB()
{
try {/*何らかの処理、例外は例外処理Bで捕捉される*/ }
catch {/*例外処理B*/}
}
メソッド分けたけどtry-catchを入れ子にしても同じこと
実際にこのパターンで書いてみて動かしてみればいい
0281デフォルトの名無しさん
垢版 |
2019/05/20(月) 06:34:18.42ID:poyp5Kqc
>>277
漏れは、Ruby, Nokogiri, Selenium WebDriver で、ブラウザを自動操作して、
ローカルPC 内の画像ファイルを、ブラウザで見たりしてる

ただ、ローカルPC内に保存できるかどうかは、知らない

HTML, CSS/SASS, JavaScript, jQuery, Node.js も使う

でも、Windows10 で、iPhone は作れるかな?

>>278-280
C# のスレで、聞いた方が良さそう
0282デフォルトの名無しさん
垢版 |
2019/05/20(月) 21:23:14.49ID:VWEIYE4F
Visual Studio(C#)のプログラミングに関する質問です。

インクルードする2ファイルが、双方のクラスを互いに必要とするケースにおいて、
コンパイルが通らなくて困っています。(当たり前なのですが…)

【Aファイル】
クラスAの定義{
クラスBの使用(インスタンス作成、メソッド利用)
}

【Bファイル】
クラスBの定義{
クラスAの使用(インスタンス作成、メソッド利用)
}

【全体インクルードファイル】
#include Aファイル
#include Bファイル

【コンパイル結果】
Bクラスが存在しません(Aファイルにて)

【質問】
お互いにクラス定義を必要とする場合、
★具体的に★どのような実装をすれば良いのでしょうか?
0283デフォルトの名無しさん
垢版 |
2019/05/20(月) 21:27:54.97ID:g68Ac+XT
> インクルードする2ファイルが、双方のクラスを互いに必要とするケースにおい

そういう設計になるのが間違い
0285デフォルトの名無しさん
垢版 |
2019/05/20(月) 21:44:22.94ID:qyXChWvO
e-ラーニングの動画コンテンツみたいにさ、
Webページ上の動画をユーザが何分視聴したのかデータをDBに残したいんだけど、
どんな技術使えば実現可能なん?
0288281
垢版 |
2019/05/21(火) 12:16:28.57ID:ZAINLMmO
>>277
VSCode でも使っている、Electron もある。
これは、Chromium + Node.js

これも、Ruby, Nokogiri, Selenium WebDriver で、ブラウザを自動操作してるのと同じ。
実行環境がブラウザのChromiumで、ローカルPC へのアクセスに、Node.jsを使っている

これも、HTML, CSS/SASS, JavaScript, jQuery などを使う
0289デフォルトの名無しさん
垢版 |
2019/05/21(火) 12:21:00.91ID:ZAINLMmO
>>282-284
C# の質問は、C#のスレに書き込んでください!

それと、マルチポストは禁止です!
複数のスレや外部のサイトに、書き込まないでください!

他の場所・スレへ移動する場合は、元の場所の質問を締め切ってから、移動してください!
0290デフォルトの名無しさん
垢版 |
2019/05/23(木) 22:06:29.40ID:at6rVxVk
質問です。
qiitaのとある作者さんのWin32のウィンドウライブラリをパクったのですが、連絡を取るときはアカウントとるべきですか?
0291デフォルトの名無しさん
垢版 |
2019/05/24(金) 01:55:17.97ID:53a26ZX4
連絡取れれば何だって良いだろ。
ライブラリにライセンスがかいてあれば、連絡取る必要すらないし
0292デフォルトの名無しさん
垢版 |
2019/05/24(金) 10:46:29.85ID:Ph/OCthx
>>291
それもそうですなぁ。
qiitaのデフォルトライセンスの記述は見たことないなぁ。などと今思ったナリ。
0293デフォルトの名無しさん
垢版 |
2019/05/25(土) 04:32:03.46ID:7Hh+Cor8
高階関数だのラムダ式だの言ってるけど
関数ポインタを使ったコールバックと何が違うの?
0294デフォルトの名無しさん
垢版 |
2019/05/25(土) 05:05:26.86ID:hxN9RlQC
擬似言語でかくとC言語では以下のような、foo関数の中に
bar関数を定義するというような書き方はできない

foo() {
 bar() { }
 var bar_prt = bar;
 bar_prt();
}

このようにfoo関数の外に書く必要がある

bar() { }
foo() {
 var bar_prt = bar;
 bar_prt();
}

だから関数ポインタでは、以下のように、bar関数の中から
foo関数の中にある変数valueを参照するということができない

foo() {
 var value = 123
 bar() { console.log(value); }
 var bar_prt = bar;
 bar_prt();
}

別の場所にある関数だから、foo関数のローカル変数にアクセスできない

たとえ、foo関数の中にbar関数を定義できたとしても、関数ポインタと同じ仕組みであれば
bar関数の中からfoo関数の中にある変数valueを参照できない
0295デフォルトの名無しさん
垢版 |
2019/05/25(土) 05:24:03.98ID:HNNK4o9q
例えばqsortの引数に直接swap&compareコードを書けるようになる
いちいち外部に関数つくって名前つける必要なくね?

という感じ
関数ポインタじゃ絶対に実現できないというのはない
0296デフォルトの名無しさん
垢版 |
2019/05/25(土) 15:43:49.65ID:XXQvJLIJ
PHPのフレームワークLaravelを勉強している者なんですが、
Laravel EchoとPusherを使用してリアルタイムチャットを作ろうとしています。
色んなサイトを参考にして
Pusherの環境変数を.envに入力し、bootstrap.jsのコメントを解除したりして
色々設定し、通信状態もwebsocketになっていることが確認できました。
しかし、PusherのDebug Consoleに送信した内容が表示されません。
まだ何か設定が足りないとかありますでしょうか?
0298デフォルトの名無しさん
垢版 |
2019/05/26(日) 01:56:06.80ID:ZtwHTv9L
VisualStudioでDLLをデバッカしたいです。
ぐぐると、DLLを呼び出すexeを実行し、exeの対して「プロセスのアタッチ」を実行すればよいとありましたが、
DLLを呼び出すexeが一瞬で終わってしまうコマンドのため、アタッチできません。どうすればよいでしょうか。

試しに、exeを「ローカルWindowsデバッガー]で停止させ、別窓のVisualStudioコンソールでDLLのソリューションを開き
exeにアタッチしようとしましたが、「プロセスにアタッチできません。デバッガーは既にアタッチされています。」と表示され、アタッチできませんでした。
0299デフォルトの名無しさん
垢版 |
2019/05/26(日) 09:12:14.46ID:kGcgY47H
DLLのコードにブレークポイントを置いておいて、スタートアッププロジェクトのデバッグコマンドを
そのexeにしてデバッグ実行するだけでいいと思うけど。
0300デフォルトの名無しさん
垢版 |
2019/05/26(日) 11:56:12.17ID:PQEivHO3
>>299
すみません、Visul StudioでexeとDLLを同じソリューションで定義し直し(もともとは別ソリューション)
exeを「ローカルWindowsデバッガー」で動作させたところ、DLLのコードのブレークポイントで止まるようになりました。


追加の質問ですみませんが、「ローカルWindowsデバッガー」ではなくVisual Studioのリモートデバッカでデバックしたい場合ですが、
基本的にはデバックしたいexeのプロセスにアタッチする手番と思います。
アタッチする際に「使用可能なプロセス」の一覧からデバックするプロセスを選択すると思いますが、
非常駐プロセスの場合、この一覧からプロセスを選択できません。
デバックしたいexeが非常駐プロセスである場合、どうやってアタッチすればよいのでしょうか。
0301デフォルトの名無しさん
垢版 |
2019/05/26(日) 14:32:07.38ID:WMkIoFQL
以下のようなWindowsプログラム(メインプログラム)のソースを書きました。

main.cpp
-------------------------------------------------
int main()
{
int *pNumber2 = NULL;
HMODULE hMod = LoadLibrary(DLLPATH);
PTESTMALLOC ptest2 = (PTESTMALLOC)GetProcAddress(hMod, "Test_malloc");
ptest2(&pNumber2);
_CrtDumpMemoryLeaks();
return 0;
}
-------------------------------------------------
この中で、外部DLL(DLLPATH)の関数「Test_malloc」のソースは以下です。
-------------------------------------------------
void Test_malloc(int **pNumber2)
{
int *pNumber = new int[3];
pNumber[0] = 4;
pNumber[1] = 5;
pNumber[2] = 6;
*pNumber2 = pNumber;
return;
}
-------------------------------------------------

DLLPATHがdebugモジュールの場合、CrtDumpMemoryLeaksでpNumber2の解放漏れが検出できました。
しかし、DLLPATHがReleaseモジュールの場合、解放漏れが検出できませんでした。

外部DLLには上記のようにDLLの中でメモリを獲得し、呼出側で解放用の関数を呼んでメモリを解放しなければいけないものがあります。
外部DLLのdebugモジュールは一般には入手できないため、このような解放関数の呼び出し漏れによるメモリリークを検出する方法はないでしょうか。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況