X



Win32API質問箱 Build124
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
垢版 |
2017/11/11(土) 19:23:00.69ID:TpLoCFAx
Win32APIについての質問はこちらへどうぞ。

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

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

■関連スレ
Visual Studio 2017 Part4
http://mevius.2ch.net/test/read.cgi/tech/1509244956/
【C++】 DirectX初心者質問スレ Part40 【C】
http://mevius.2ch.net/test/read.cgi/tech/1474782237/
0952デフォルトの名無しさん
垢版 |
2019/02/24(日) 15:26:11.06ID:BJ3WFlaM
「sprious wakeupもありえる」のはいいが、
どのAPIも使うたびにいちいち関数仕様確認するのは面倒だな

つーか関数の説明には書いてないので仕様とは言えないと思うんだが・・・初見殺し?
0953デフォルトの名無しさん
垢版 |
2019/02/24(日) 15:39:02.49ID:2tRfk65D
>>952
初めて使うAPIでしかも同期処理なんて複雑なものは仕様を調べて使うのが当然のことだと思うぞ。
0954デフォルトの名無しさん
垢版 |
2019/02/24(日) 16:04:30.12ID:N5G83Lpp
>>949
   raw_wait(y, z);  // spurious wakeup 有り

   if ( IsCond(y, z) ) {  // 厳密な条件チェック
の間で条件が変わったらどうするの?
0955デフォルトの名無しさん
垢版 |
2019/02/24(日) 16:07:02.11ID:EMRtI4X3
>>954
え、それはプログラミングの仕方の問題じゃないの?
元々、マルチスレッドプログラムは難しいんだけど、それと今回の
問題は別なのでは。
0956デフォルトの名無しさん
垢版 |
2019/02/24(日) 16:08:45.84ID:N5G83Lpp
>>955
どうやってプログラムで回避するの?
回避できないんだったら「絶対に起きない」なんて言えないだろ。
こんなレベルで排他処理語られても...
0957デフォルトの名無しさん
垢版 |
2019/02/24(日) 16:14:47.34ID:pcDSz9Pr
>>956
もともと、排他処理用のAPIは、そういう「変な問題が起きない」ように用意されて
いるんだよ。「Atomic」アクセス、などと言われていて、「途中に」とか
中途半端な状態が起きない作りにしてある。それは割り込み発生を好きにOFFに
できるところのシステム側(OS)でしかできない。
0959デフォルトの名無しさん
垢版 |
2019/02/24(日) 16:17:26.62ID:9KBfjXtA
同期オブジェクトの正確性ではなく、ユーザ定義データの保護こそが大切。目的を見失わないように。
0963デフォルトの名無しさん
垢版 |
2019/02/24(日) 16:36:35.10ID:2fcQjxFq
Atomicを語るならID変わらないようにしないと恥ずかしいな
0966デフォルトの名無しさん
垢版 |
2019/02/24(日) 16:46:55.09ID:9KBfjXtA
コールバック形式のAPIを使うプログラマはその呼び出しタイミングをAPI側に委ねている。
何がいいたいかというと、要するにあきらめろということだ。
0967デフォルトの名無しさん
垢版 |
2019/02/24(日) 17:53:55.79ID:N5G83Lpp
>>957
それが起きるからどうするという話で、
あんたが糞の役のも立たないコードを出したんじゃん。
つまり>>954はクソだったと認めるということ?
0968デフォルトの名無しさん
垢版 |
2019/02/24(日) 18:01:12.16ID:pcDSz9Pr
>>697
多分、あのコードで問題ないはずだ。
ちなみに、オイラは現実社会では天才と言われているよ。
0969デフォルトの名無しさん
垢版 |
2019/02/24(日) 18:31:20.56ID:9KBfjXtA
車のバンパーは本来、ボディを保護するためにある。
そのバンパーに傷がついたりへこんだりすることを病的に嫌悪している状態。
お大事に。
0970デフォルトの名無しさん
垢版 |
2019/02/24(日) 18:39:12.54ID:fWdsplTz
もしそのraw_wait()がP命令だとしたらその結果がspuriousのときはV命令で状態を戻さなきゃならんと思うが。
ただどっちにしてもそのIsCond()はライブラリ側では構成しようがないけどな。

あと、やっぱりspurious wakeupって条件変数特有のものじゃなかったかな。
なんかそのへんで話がずれている気がする。
0971デフォルトの名無しさん
垢版 |
2019/02/24(日) 18:54:16.69ID:EMRtI4X3
>>970
どういう状況を考えてるのか前提が分からないし、だから
「深く考えてない」
という事になってしまうのだけども。少なくとも、Win32のWaitForSingleObject()
では特に問題は起きない。
0974デフォルトの名無しさん
垢版 |
2019/02/24(日) 22:10:09.80ID:SGjUOn7r
>>925
>WaitForSingleObjectやWaitForMultipleObjectsってspurious wakeupがあるから
>使うなと言ってる先輩がいるけど本当ですか?
嘘です。

同期オブジェクトを使いこなせない先輩が自分のバグを解決出来ずにこれを
spurious wakeupのせいにし、
同期オブジェクトをろくに知りもしない >>926-973 みたいなやつが適当なことを
書いているだけです。
0977デフォルトの名無しさん
垢版 |
2019/02/25(月) 23:33:02.61ID:2LN6Bs/0
WaitFor〜はOS制御の根幹って感じはするけど、lstrcpy〜系をAPIにする意味はよく分からん
0978デフォルトの名無しさん
垢版 |
2019/02/26(火) 02:22:40.88ID:K9v1e6Ic
昔はCライブラリへのリンクなしでビルドする需要が割とあった。
0979デフォルトの名無しさん
垢版 |
2019/02/26(火) 12:16:11.37ID:5MxkS3P7
>>976
Windows では、Windows API か、それをクラスにまとめた、MFC を使う。
型も、HDC とか、Windows 独特のもの

C++標準ライブラリは、アルゴリズム以外は、あまり使わないだろ
0980デフォルトの名無しさん
垢版 |
2019/02/26(火) 12:23:22.51ID:D7AA7sgA
プラットフォーム共通にしたい場合なんかに使うと思うよ。
排他処理みたいな、OSに近いしい部分はOSに近しいAPIの方がいいと思うけどお。
0981デフォルトの名無しさん
垢版 |
2019/02/26(火) 16:48:18.20ID:K9v1e6Ic
vector,list,mapなど各種コンテナ、文字列クラスbasic_string、スマートポインタクラスshared_ptr,unique_ptrは使うでしょ。
コードでのdelete, delete[] 呼び出しを減らすためにね。
0982デフォルトの名無しさん
垢版 |
2019/02/26(火) 17:32:55.36ID:K9v1e6Ic
スマートポインタクラスshared_ptr,unique_ptrは、デストラクタを細かく指定できるのでHDCやHFONTなどにも使えるよ。
すでにMFCなどにラッパークラスがすでにあるから使わないだろうけど。
0983デフォルトの名無しさん
垢版 |
2019/02/26(火) 20:07:38.65ID:ZphJ05zo
昔はCRT依存しない実行ファイル作る意味もあったけど、C++が普通になったら
もうそこはこだわらないね。
0984デフォルトの名無しさん
垢版 |
2019/02/26(火) 20:15:04.12ID:gazg2F9T
>>980
プラットホーム不問にしなきゃいけないような有益なプログラムを書ける人なんてほぼいないだろ

boostライブラリみたいなものなら、プラットホーム固有のものを使っちゃいかないけど、あんなライブラリを書ける人なんて世界でも100人もいないだろ
0985デフォルトの名無しさん
垢版 |
2019/02/26(火) 20:22:51.49ID:K9v1e6Ic
WindowsAPI直呼びを避ける動きは、主にゲーム業界からのニーズで発生するんだけどねぇ。
0986デフォルトの名無しさん
垢版 |
2019/02/26(火) 23:03:56.44ID:D7AA7sgA
>>983
CRTに脆弱性があってから分離が当たり前になった気がするなあ
分離しておかないとパッチがあたらないし
0987デフォルトの名無しさん
垢版 |
2019/02/26(火) 23:06:10.50ID:D7AA7sgA
>>984
今時のシステムはWindowsなのかLinuxなのか、上の人はコストしか見ないから
どっちでも行けるようにしておかないと下っ端は辛い状況になるよ。
外注に出す金があるならそんなみみっちいことは言われないわけで。
0988デフォルトの名無しさん
垢版 |
2019/02/26(火) 23:39:30.91ID:K9v1e6Ic
>>986
ブラウン管ディスプレイのきじゃくせい(なぜか変換できない)なんてどうでもいいだろ。
0994デフォルトの名無しさん
垢版 |
2019/02/27(水) 09:44:25.02ID:TXzf+Z8H
申し訳ないが、心臓再同期療法の話はスレ違いなのでよそでやってくれ。
0996デフォルトの名無しさん
垢版 |
2019/03/01(金) 13:25:53.11ID:wtAGrKTy
      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴ……!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,
      //三/|三|\       ,,,,    ,,、,、,,,
      ∪  ∪
  ,,          ,    ,,,,    ,,、,、,,,       ,,、,、,,,
,,,,,    ∧_∧ うまいモナー,,,,,   、 ,,,,,,   ,,,,,,,,    ,,,,,
 ,,,   ( ´∀`)___,,,,___ ,, ∧_∧ ゲンキニ シテルカナ・・・___,,
  / ̄ ( つ日ヽ   ∧_∧    (    )               /
/    (__))   (´∀` )   (    )    ∧_∧∧_∧ / マターリモナー
 ∧_∧∧_∧ドーゾ (日ノ )  | | |    ( ´∀`) ´∀`)
 ( ´∀`) ´∀`)    ((__)  ,(_(_) (○)⊂   ) つ日⊂ ) モーナー
―(つ⊂  ) つ⊂ )―――――――――――ヽ|〃(⌒)(⌒) (⌒)(⌒)
   (⌒)(⌒) (⌒)(⌒)グーグー
1000デフォルトの名無しさん
垢版 |
2019/03/03(日) 18:44:07.75ID:5EsDLzeQ
TerminateProcess(hProcess, 5963);
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 476日 23時間 21分 7秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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