タグ

GCCとWindowsに関するkhikerのブックマーク (2)

  • MinGWでDLLを作ってみる (32bitと64bit)

    手軽な方法はこれ。 $ g++ -static -shared -o hello.dll hello.cc world.cc -Wl,--out-implib,libhello.a gcc 4.4.0 (32bit)を使って、上記の方法でDLLをつくると、必要以上に多くの関数をexportしちゃっている。 ちゃんとDEFファイルを用意して必要な関数だけをexportする場合は次のようにすればよいみたい。 $ g++ -c hello.cc $ g++ -c world.cc $ g++ -mdll -o hello.dll.tmp -Wl,--base-file,hello.dll.base hello.o world.o $ dlltool -l libhello.a --dllname hello.dll --base-file hello.dll.base --output-exp

  • gccにおけるatomic操作命令の個別関数

     gccとVC x86/x64環境で開発する上で, gccとVCはどちらも非常に優れたC/C++コンパイラです. ただLinuxWindowsのどちらの環境でも動作するようなC/C++コードを書くためには, gccとVC, およびそれらが動作するOSの違いが問題になることがあります. ここではそれらの違いについてまとめていきたいと思います. なお説明を簡単にするためにマクロを多用していますが実際には可能なら別の手段をとるか, 名前がぶつからないような命名規則に則ったマクロ名をつけることをお薦めします. 対象 定義済みマクロ 有用なマクロ コンパイルオプション 演算子の代替表現の抑制 日語のコメント 型 pragma attributeとdeclspec ファイル入出力 テキストとバイナリ 巨大なファイル static変数の初期化 snprintf 例外ハンドラ intrinsic関数

    khiker
    khiker 2009/08/06
    gccとVC、LinuxとWindows、どちらの環境でも動くC/C++コードを書くには。
  • 1