タグ

WindowsとC++に関するnekotankのブックマーク (3)

  • VisualStudioでC/C++ビルド時,stdio.hやkernel32.libなど基本的なモジュールが見つからないときの対処法 - 結果だけでなく過程も見てください

    ※2016/12/16全面刷新 ※私の認識に誤りがあり,どうやらVisualStudioのincludeやlibのパス設定方法がまずかったようです。 ※またパス展開用のマクロ名が,古いVisualStudioのもの(つまり移行時に発生しやすい?)だった場合も ※問題が起きる気がします。。。 今回の環境 Windows XP(32-bit) + Visual Studio 2005 Professionalから Windows 7(64-bit) + Visual Studio 2010 expressへ移行テストで問題発生。 Windows 10(64-bit) + Visual Studio 2015 Community導入時にも同様の問題が発生しました。 問題 - hello, worldできない! 10年もプログラム組んでてprintfも知らんのか!という話ではなく。 ↓の何の変哲も

    VisualStudioでC/C++ビルド時,stdio.hやkernel32.libなど基本的なモジュールが見つからないときの対処法 - 結果だけでなく過程も見てください
  • Windows 8のC++でプログラミングの常識がひっくり返った

    「C言語とC++がわかる」というムック(2013年4月2日発売)の作業で、Windows 8/RTで動く「Windowsストア アプリ」をC++で作った。元記事はVisual BasicとC#(シーシャープ)で作っていたので、それをC++で書き直すというわけだ。 これが想像をはるかに超えて難しく、土日に働き続けるのはもちろんのこと、1日の睡眠時間を2時間に削ったりして長時間取り組んでも、思うように進まなかった。印刷会社にデータを渡す日は近付くしプログラムは動かないしで、10年に1度クラスの大ピンチ。冷や汗をかき、涙目になりながら書き続けて何とか間に合わせたのだが、どこが最大の難所だったかというと、「順次処理を書いたつもりなのに順次処理してくれない」という、常識破りの大変化があったことだと思う。 手続き型のプログラミング言語でプログラムを書く場合、プログラマが と記述したら、コンピュータは

    Windows 8のC++でプログラミングの常識がひっくり返った
  • [Visual C++] LoadLibrary が失敗する原因

    この記事は3年以上前に書かれた記事です。情報が古い可能性があります。 Win32でDLLを明示的ロードするとき、LoadLibrary API関数を使用するのだけど、この引数に渡すDLLファイルのパスが正しいにも関わらず失敗(戻り値 0)することがある(フルパスで指定しても失敗する)。 引数に渡したDLLがあからさまに存在するのに失敗する場合、対象DLLが別のDLLを使用していて、そちらのロードに失敗している可能性がある。なので、対象DLLが使用しているDLLが存在するか調べる。 Visual Studio 付属ツールの dumpbin を使う。(Linux でいえば ldd みたいなやつ) dumpbin /dependents hoge.dll ここに表示されるDLLもちゃんと存在するか(パスが通っているか)確認する。

    [Visual C++] LoadLibrary が失敗する原因
  • 1