[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/07 04:05 / Filesize : 285 KB / Number-of Response : 1021
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build125



1 名前:デフォルトの名無しさん [2019/02/27(水) 15:09:08.64 ID:6ExXwgQU.net]
Win32APIについての質問はこちらへどうぞ。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
 英語版( msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

■過去スレ
Win32API質問箱 Build124
mevius.5ch.net/test/read.cgi/tech/1510395780/
Win32API質問箱 Build123
mevius.2ch.net/test/read.cgi/tech/1475897582/
Win32API質問箱 Build122
echo.2ch.net/test/read.cgi/tech/1451988219/
Win32API質問箱 Build121
echo.2ch.net/test/read.cgi/tech/1438695290/
Win32API質問箱 Build120
echo.2ch.net/test/read.cgi/tech/1428570962/

■関連スレ
Visual Studio 2019
mevius.5ch.net/test/read.cgi/tech/1548765663/
Visual Studio 2017 Part6
mevius.5ch.net/test/read.cgi/tech/1528645068/
【C++】 DirectX初心者質問スレ Part41 【C】
mevius.5ch.net/test/read.cgi/tech/1521786252/

321 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 19:39:40.56 ID:WzV8SEFI.net]
VS使わない縛りなの?

322 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 19:55:06.55 ID:G+rzyOKL.net]
>>314
> Win32API の execlp とか _execlp
そもそもexeclpとかはwin32apiじゃなくて単なるライブラリだよ
とりあえずざっとソース見る限りではpidを返す方法はないみたい(インターフェースもないしね)
自分で実装するしかないと思う

323 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 23:50:00.36 ID:jdtp5u68.net]
>>316
VSは使ってるよ、昔は無料のエディションには
MFCもリソースエディタも付いてなかったからな

趣味でやってるから問題なし
フリーのリソースエディタを入れるか迷ったこともあったけど
直叩きで行けるしまあいいかと

324 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 00:47:21.27 ID:iDbWACrZ.net]
それぐらい普通、何でもないよ
俺なんかメニューバーとかスクロールバーとかツールバーとかリストビューとか
こまごましたUIパーツ、全部DirectXで一からフルスクラッチで書いたし
4K画面だとリストビューとか動作がカクカクになるから使い物にならんよ
フォントの描画が重いみたい

325 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 00:49:05.96 ID:B+hfHu5+.net]
結構前からリソースエディタは無料版VSでも入ってたろ

326 名前:蟻人間 mailto:sage [2019/09/16(月) 01:47:28.54 ID:cPhlmIua.net]
後世のために書いておくが、Visual StudioのリソースコンパイラーはUTF-8の扱いに致命的なバグがあって、最悪の場合、文字化けする。あれはANSIコードページかUTF-16で使うものだ。

327 名前:デフォルトの名無しさん [2019/09/16(月) 10:51:40.64 ID:7yboD6Fj.net]
不定期
https://stefansundin.github.io/xn_resource_editor/

328 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 12:37:37.02 ID:IB1jvVpV.net]
>>321
コンパイラーの問題だからエディターは何でもいいんじゃね
って話ではないの?

329 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 17:55:40.47 ID:+LXKkUCe.net]
そもそもリソースファイルにUTF8が使えるなんて知らなかったわ



330 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 17:57:32.41 ID:Y7LS5TKS.net]
いや使えないでしょUTF-8

331 名前:蟻人間 mailto:sage [2019/09/16(月) 18:32:35.66 ID:cPhlmIua.net]
MinGWのwindresというコンパイラーなら、pragmaでコードページ指定すればUTF-8が使える。
Visual Studioのrcは前述の通りUTF-8読み込みにバグがある。

332 名前:デフォルトの名無しさん [2019/09/16(月) 18:40:12.76 ID:OCMqZYFH.net]
RisohEditorってどうなん

333 名前:蟻人間 mailto:sage [2019/09/16(月) 18:43:49.21 ID:cPhlmIua.net]
RisohEditorはUTF-8とUTF-16のソースが扱える。UTF-16の入力は、独自のプリプロセッサでUTF-8に変換している。

334 名前:蟻人間 mailto:sage [2019/09/16(月) 18:46:27.85 ID:cPhlmIua.net]
VSのRCの文字化けバグについては
https://developercommunity.visualstudio.com/content/problem/384705/visualstudio-v1590-resource-editor-using-utf-8-bom.html
こちらで。まだ直っていない。

335 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 18:52:28.03 ID:OHfOAVfs.net]
リソースファイルはBOMつきUTF-16LEでいけるでしょ。

336 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 19:26:31.76 ID:dTSbudTn.net]
重箱。UTF-16LE/BEと呼ぶ場合はBOMを付けてはならないらしい。

337 名前:デフォルトの名無しさん [2019/09/16(月) 19:56:19.89 ID:OCMqZYFH.net]
UTF-8 も BOM 付けちゃいけないんだろ

338 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 20:21:16.53 ID:dTSbudTn.net]
UTF-8なら禁止はされていない。

339 名前:デフォルトの名無しさん [2019/09/17(火) 00:30:59.73 ID:J+q8D2Xe.net]
>>331
理解が間違っている。

「BOMつきUTF-16LE」と「UTF-16LE」は別のものであり、どちらも存在する。
「UTF-16LE」にBOMがついていないからこそ「BOMつきUTF-16LE」という表現が成り立つ。
小倉トーストとトーストが別のものであることと同じであり、トーストに小倉餡がついていないからこそ小倉トーストが成り立つ。



340 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 02:12:33.57 ID:GJd5TLi7.net]
粒餡と餡子が別のものであることと同じであり、
餡子に粒が入ってないからこそ粒餡が成り立つ
ってことですね

341 名前:デフォルトの名無しさん [2019/09/17(火) 02:53:38.24 ID:J+q8D2Xe.net]
名古屋のモーニングにゆで卵がついたからといって、モーニングでなくなるわけではないのだ。
無論、ゆで卵がつかないモーニングもある。ゆで卵がつこうがつくまいがモーニングなのだ。

342 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 03:09:38.39 ID:F6p74H2h.net]
名古屋とか言う異世界の話はやめようぜ
意味が分からん

343 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 18:03:14.36 ID:IoM9hprN.net]
名古屋が4次元?

344 名前:デフォルトの名無しさん [2019/09/17(火) 18:08:21.64 ID:+bGUkqkJ.net]
みそかつ
みそ煮込みうどん
高血圧

345 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 18:36:53.76 ID:TzGpBMAj.net]
段ボール入り肉まんが人によってはバレないが、やはり人間的にはエラーが出やすい
そういうことだな

346 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 14:01:12.80 ID:+0ud2Fjw.net]
Caretの点滅間隔について質問です

自アプリがアクティブの時のみ点灯(点滅間隔にUINT_MAXを指定して擬似的に)
自アプリが起動中はWM_SETFOCUSでON(点灯)に、WM_KILLFOCUSでOFF(元の間隔)にする事はできましたし他のアプリにも影響はありません
ですが自アプリが終了したら他のアプリでもONの状態になってしまいます
メッセージを追ってみると
WM_CLOSEでDestroyWindow
→WM_KILLFOCUSでOFFへ
→プロセスが終了
になっていたので自アプリ内で再度ONになっている事はないです

これはどういう事ですか?

347 名前:デフォルトの名無しさん [2019/09/18(水) 19:04:24.43 ID:L8SHYgAR.net]
WM_CLOSE
→DestroyWindow (hWnd 失効)
→WM_KILLFOCUSでOFFへ (hWnd 違いで無視)
→プロセスが終了

かな
知らんけど

348 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 19:30:38.13 ID:+0ud2Fjw.net]
ありがとうございます

引数は間隔のみですが一応DestroyWindow直前でOFFにしてみても同じ結果でした

349 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 19:31:59.76 ID:Dukdxvvo.net]
完成品には道のり遠くw



350 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 19:37:10.52 ID:+0ud2Fjw.net]
Getで値を見てみるとONの状態になってしまうのではなく
アプリが終了したら間隔が0xfeeefeeeになってしまう
でした

言い直しますと
System設定の500(ミリ秒)からUINT_MAXではなく200へ変更するようにしても
アプリを終了したら間隔が0xfeeefeeeになってしまう
です

351 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 19:39:32.20 ID:Dukdxvvo.net]
たまねぎスレw

352 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 19:57:32.75 ID:u5s3196f.net]
方法は何でもいいけど、例えばクリックしたらキャレット処理を終了→その後アプリ終了でどうなるかやってみ
問題が絞り込めるでしょ

WM_CLOSEで終了処理が思ったように動いてないってのはありがち

353 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 20:00:53.08 ID:Dukdxvvo.net]
はい完成品なしw

354 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 20:07:36.38 ID:+0ud2Fjw.net]
>>347
それも既に試しましたが同じ結果です
>>341でも書きましたがメッセージを追ってWM_CLOSEが正常な事も確認済みです

355 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 20:10:21.94 ID:Dukdxvvo.net]
はいBASICからやり直しw

356 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 20:10:41.11 ID:+0ud2Fjw.net]
>>347
途中送信すみません
設定してもいない値0xfeeefeeeになるので
間隔はSystemと同じ値(500)にSetするだけにしてみても同じ結果でした

357 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 20:12:42.36 ID:rjYHNvyN.net]
0xfeeeってデバッグの時の初期化されてない奴の値じゃないっけ
終了時に数値の参照先おかしくなってるとかかな

358 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 20:31:05.81 ID:VIgnmm9s.net]
「あなたのアプリがWM_CLOSEで0xfeeefeeeにしてる」のは明白でしょ
0xfeeefeeeって特別な値よ、ググってみそ

359 名前:蟻人間 mailto:sage [2019/09/18(水) 20:50:12.78 ID:d3y9L0GY.net]
DestroyCaretしてないとか?



360 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 20:51:02.69 ID:doMp/Sm3.net]
DEBUGビルドのランタイムで
newからのdelete や malloc からの free の後に 確保領域の内容を0xfeee で埋める

ポインタを開放した後に指し先の内容値を取得し、セットしちゃってるんでないの?

361 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 20:51:25.32 ID:nSTUFOvJ.net]
速度設定するとこにトレース出力でもおいて、まずはほんとに意図しないタイミングで呼ばれてないのかチェックだな

362 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 20:54:27.99 ID:GIOjMe2C.net]
イベントを2回通っていて、認識できてないとか。

363 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 21:32:56.42 ID:+0ud2Fjw.net]
>>353
キャレット関係の終了処理をWM_LBUTTONDOWNのタイミングに変更した時に
WM_CLOSEの方のキャレット関係の終了処理はコメントアウトしました

>>354
してもしなくても同じ結果になります

>>355
値の指定をハードコードにしても同じでした

>>356-357
重複した呼び出しなども無かったです

364 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 21:52:22.59 ID:8Lx1p1Xb.net]
Releaseモードで検証したら

365 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 21:58:28.43 ID:rjYHNvyN.net]
別のとこでメモリ壊してるんかな
その部分だけの最小コード書いてみては
それでもなるなら手に負えない感じが

366 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 22:24:23.19 ID:Ei+Tp6td.net]
>>352-353, >>355
0xfeee なんてパターンあったっけ?
0xFDFDFDFD No man's land (normally outside of a process)
0xDDDDDDDD Freed memory
0xCDCDCDCD Uninitialized (global)
0xCCCCCCCC Uninitialized locals (on the stack)
の4パターンしか知らんかったわ
https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-6.0/aa260966(v=vs.60)#what-exactly-do-you-mean-by-failure

367 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 22:31:02.62 ID:rjYHNvyN.net]
なかったっけ
うろ覚えで書いたから間違ってたかな

368 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 22:48:37.86 ID:u5s3196f.net]
0xfeeefeeeでググれ

369 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 22:51:58.57 ID:u5s3196f.net]
>>358
> キャレット関係の終了処理をWM_LBUTTONDOWNのタイミングに変更した時に
> WM_CLOSEの方のキャレット関係の終了処理はコメントアウトしました

マウスクリックで終了してる「はず」なのに終了してないなら、そもそもキャレット処理を
全く走らせてなくても問題が再現する「はず」

でもその場合は問題ないってなら、やはり終了処理に何かある



370 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 04:56:26.34 ID:WgtBHfjG.net]
>>363
お前がググれよw

371 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 08:37:27.80 ID:55mEbAq6.net]
>>361
new -> delete -> 値が0xfeeefeeeに

もしnewしたクラスのメンバ変数が値を保持して間隔設定してるなら
delete後に0xfeeefeeeなるよ
クラスポインタをdeleteしてからNULLにしたらエラーになるはず

こんな感じじゃないかな

WM_CLOSEで(deleteしてから)DestroyWindow (クラスポインタとメンバ変数の値が0xfeeefeeeに)
→WM_KILLFOCUSでOFFへ (OFFにする時に参照してるメンバ変数が0xfeeefeee)
→プロセスが終了

でもハードコードでもなるみたいだから違うかも?

372 名前:デフォルトの名無しさん [2019/09/19(木) 09:42:21.55 ID:BhEGNWlU.net]
unix の pipe は双方向だと思うのですが
win32api の pipe (namedpipe ではない方) は一方通行なんでしょうか?
先生なんとかなりませんか?

373 名前:デフォルトの名無しさん [2019/09/19(木) 09:45:58.80 ID:VunEY3BQ.net]
WM_CLOSE

WM_DESTROY

374 名前:デフォルトの名無しさん [2019/09/19(木) 09:51:38.16 ID:VunEY3BQ.net]
ああ
WM_QUIT
かな

375 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 10:17:38.29 ID:nEj2AKuG.net]
>>367
UNIXも一方通行では

376 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 10:35:55.09 ID:WgtBHfjG.net]
>>366
間隔設定がよくわからんが

class C { int a; };

auto x = new C();
delete x;

ってやるとxのポイント先が0xddddddddになるんだが…
Visual Studio Express 2017, 15.9.16

377 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 12:34:19.77 ID:WgtBHfjG.net]
>>366
書き忘れたけど当然デバッグビルドな
ついでにライブラリのソース追っかけたけどパターンはバイト単位に設定されてるので0xfeeeなんてパターンは無いと思うよ

378 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 16:05:31.90 ID:NIaCYNJC.net]
>>365
どこのgoogle使ってんの?

>0xfeeefeee を検索するとHeapFree で処分された後のヒープ領域がこの値で埋められている、とわかる。 ということは「処分済みヒープへのポインタを誰かが使っている」ということだ。

なお、正解かどうかは論じてないので悪しからず

379 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 16:41:49.39 ID:cbyVF/Zh.net]
解放バッファの埋めパターンは、ライブラリが自力でセットするものなの?



380 名前:デフォルトの名無しさん [2019/09/19(木) 17:15:02.02 ID:BhEGNWlU.net]
-D_DEBUGで自動化やろ

381 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 18:06:22.20 ID:NIaCYNJC.net]
とりあえず>>373の検証
100バイトHeapAllocして適当にa~zの文字書き込んでHeapFreeの前後でダンプ取ったけど、
0xfeeefeeeが入ることはなかったな

debug版


382 名前:
61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 00

F0 C6 42 05 88 41 47 05 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 00

release版

61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 00

78 EF 81 05 F0 54 79 05 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 00

free後に何か入ってるけど、実行毎に違う値が入ってる

0xfeeefeeeに関しては、単純に何かのAPIがそういう処理してるんでは
[]
[ここ壊れてます]

383 名前:デフォルトの名無しさん [2019/09/19(木) 18:13:44.87 ID:VunEY3BQ.net]
コンパイラによっても違うのか
www.nobugs.org/developer/win32/debug_crt_heap.html

384 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 18:42:59.80 ID:NIaCYNJC.net]
APIだからコンパイラ関係ないと思うけどね
OSは8.1だけど

コンパイラというかライブラリが関係するはずのmallocでやってみた
vs2017 - ツールセットvs2013(詳細略)
以下並びは>376と同じだけどダンプの長さはa~zの26+1バイトじゃなく30バイト
allocも100ではなく30バイト

debug
61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 00 CD CD CD
DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD

release
61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 00 00 00 00
61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 00 00 00 00

385 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 19:23:51.83 ID:55mEbAq6.net]
>>371
間隔設定はキャレットのね

こっちでは0xfeeefeeeになるね
https://i.imgur.com/tsMulbt.jpg

386 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 22:12:42.24 ID:1bu8PAPD.net]
>>379
環境は?
十数バイトをdeleteしただけでHeapFreeを呼ぶのも考えづらいし、そもそもこっちでも>>376と同じくHeapFreeで0xfeeefeeeが入ることもなかった

387 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 22:36:38.24 ID:2Kmv27QM.net]
vs2003とかそのあたりかなこれ

388 名前:デフォルトの名無しさん mailto:sage [2019/09/20(金) 00:25:02.03 ID:n3bycm/n.net]
Win10 Pro(32bit)でHeapFreeやってみた
VS2017(Community Edition)は0xfeeefeeeにならなかったが、
VC2010(Express Edition)でやってみたら0xfeeefeeeになったわ(確保していた領域の先頭8バイトほどに0xfeeefeeeじゃない値が入っていたが)
面倒だからオプションとか生成されたバイナリとか詳しく比較してない

389 名前:デフォルトの名無しさん mailto:sage [2019/09/20(金) 09:31:26.82 ID:DNSz8VRz.net]
>>380
VC++2010Expressだよ
画像こっちの方がよかったね
ttps://i.imgur.com/eDh78Kq.jpg



390 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 11:23:33.59 ID:2Q8qxITa.net]
メッセージ処理の
case(msg)
ってなんで
case(msg.message)
じゃないの?
構造体直接評価できるの?

391 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 11:29:50.08 ID:2Q7OqYnQ.net]
どこかのサイト?

392 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 11:46:59.83 ID:QstsG7m2.net]
メッセージは構造体じゃなくて UINT やろ

393 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 14:28:14.81 ID:hWveUl7z.net]
>>384
多分サンプルの読み方を勘違いしている
GetMessage関数なんかで使われるlpMsgとかはMSG構造体なので中でメッセージIDを
確認したいならば「msg.message」を見ることになる
メッセージIDのハンドリング行うサンプルなんかで普通に使われてるWndProc関数の
uMsgはUNIT型の「msg.message」が実体なのでcaseでそのままハンドリングできる
でないか?

394 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 16:13:30.79 ID:91yg28/R.net]
caseにカッコつけんな

395 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 17:54:36.06 ID:zcWtf1aP.net]
本来ライブラリに任せるべきところをかなりネイティブなwinsockプログラミングをしています。
TCP通信にて最大セグメントを超えてwinsock2.sendを行った場合はどうなってしまうのでしょうか?
エラーとなるためそこも自前で実装する必要があるのか、それともwinsockが勝手に分割を行ってくれるのか、はたまたネットワークアダプタやルーターなどのデバイスが勝手にやってくれるのか、どういう挙動となるのかご伝授お願いします

396 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 20:46:23.20 ID:QstsG7m2.net]
ソケット通信てそんなところ気にしなきゃいけなかったっけ?


397 名前:ップロード・ダウンロードルーチン組んだけど記憶にない []
[ここ壊れてます]

398 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 21:19:08.01 ID:qwUCk4Gy.net]
winsock2に限ればエラーが返るんじゃないか?
質問するよりもmasdn見たほうが確実だろ

399 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 21:42:01.62 ID:zNn3MVf2.net]
sizeof演算子に括弧つける派です?



400 名前:デフォルトの名無しさん [2019/09/28(土) 22:22:37.56 ID:ZZfYVsnP.net]
UDPだと知らん間に分割された挙句
場合によっては断片が届く順番まで変わるからな

401 名前:デフォルトの名無しさん [2019/09/28(土) 22:24:29.26 ID:ZZfYVsnP.net]
sizeofに括弧付ける
マクロの引数は使用時に必ず括弧付ける

402 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 08:10:25.37 ID:qdFsd7WD.net]
>>393
> 場合によっては断片が届く順番まで変わるからな
むしろTCPが頑張って順序を元通りに入れ替えてるんだが…

403 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 08:12:55.60 ID:qdFsd7WD.net]
>>392
不要なカッコは付けない派
例外は演算子の優先順位がわかりにくい時に付けるぐらい
理由は間違っててもコンパイルエラーにならないから

404 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 08:26:06.28 ID:MP9GBJ11.net]
>>392
俺も無駄な括弧はつけないな
わざわざつける理由がない

単項演算子の優先順位を知らんアホが仲間にいない

405 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 09:39:48.44 ID:xMtED3Cu.net]
どこから「単項」演算子の話が…

406 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 10:26:13.14 ID:MP9GBJ11.net]
そのアホがいた・・・驚愕
今 sizeof の話をしているんだが
脈絡が読めないとはな

407 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 10:29:45.89 ID:JKK19nEu.net]
こういう奴が書くソースは総じて読みにくいw

408 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 10:31:48.98 ID:9b9emf+N.net]
付ける派
if(...) switch(...)なのにsizeof(...)じゃないのはなんとなく嫌

409 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 11:39:16.24 ID:98/tCU9d.net]
どこがAPIの話だ馬鹿は京急に突っ込んで死ね



410 名前:デフォルトの名無しさん [2019/09/29(日) 11:53:45.41 ID:3s0zt66k.net]
hoge = malloc(length * sizeof struct hage *);
hoge = malloc(sizeof struct hage * * length);
hoge = malloc(*length * sizeof struct hage *);
hoge = malloc(sizeof struct hage * * *length);
hoge = malloc(*length * sizeof struct hage **);
hoge = malloc(sizeof struct hage ** * *length);
()付けないとどんどんわかりにくくなっていく

411 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 13:23:57.04 ID:eQVILPNx.net]
sizeof(型)は()必要だよ

412 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 13:34:02.17 ID:cKDPFQQS.net]
いらんよ

413 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 13:50:41.73 ID:6WuqtMyk.net]
Win32API以外の話は不要

414 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 13:54:31.01 ID:MP9GBJ11.net]
>>400
おまえみたいのに読んでもらう必要が皆無

415 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 13:59:56.96 ID:MP9GBJ11.net]
単項演算子とそうでないものの区別がつかないアホが
return にも括弧したがるんだろうな

# K&R 1st世代の人はともかく

416 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 14:05:22.62 ID:6WuqtMyk.net]
書いてから思ったが、排他の否定な書き方が好きじゃない>>406
読みにくい
肯定した書き方だけに統一したい
そういう意味では、好きじゃないという書き方もダメか
嫌いと書くべきか

ということで、
Win32APIの話をしろ

おやすみ

sizeofは計算式絡むことがほとんどなのと、明示的にした方が分かりやすく
馬鹿らしいミスの回避のためにも付けといて損はない

417 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 15:27:53.48 ID:MP9GBJ11.net]
自分らしいミスか、わかりますw

418 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 15:43:36.72 ID:Mg/ytEjl.net]
>>403
この例からしても括弧つけた方が見やすいが、ID:MP9GBJ11は見やすさ全否定なの?
俺様はインデントもスペースも改行も無くても、優先順位・スコープ範囲が分かってるから無問題って理屈だよな

419 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 15:50:52.56 ID:qbYXpMyS.net]
typeidもsizeofも関数じゃなくて演算子なんだけど、typeidは括弧が必須。



420 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 16:01:08.70 ID:EcHpn11g.net]
>>389
TCPのMSSは相手との関係で決まるので何バイト送り込んでもエラーには
ならないと思うけど
TCPとしては送れたデータ量をSeq番号で管理していてセグメントの分割は
ドライバの仕事なのでアプリケーションレベルでは意識する必要なかったと
思うけど
UDPとかIP直みたいなデータグラムの場合には「WSAEMSGSIZE」が返って
くるみたいだけどTCPは平気なんじゃないかな(転送データの保障がある
わけではない)

421 名前:デフォルトの名無しさん [2019/09/29(日) 17:35:14.18 ID:3s0zt66k.net]
さすがに return にまで () 付けてるのはうざいわ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<285KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef