Cygwin + MinGW + GCC 相談室 Part 8 (987レス)
上下前次1-新
548(1): 2019/08/22(木)04:38 ID:Rc8J28Ob(1) AAS
コマンドプロンプトで実行するようなプログラムは
Windowsネイティブアプリにしろよw
549: 2019/08/22(木)05:37 ID:rzNCVH2V(1) AAS
MinGWで作ったら余程変態技を使わない限りWindowsネイティブアプリ
550: 2019/08/22(木)06:10 ID:dqAPG5D5(1) AAS
>>548
最初はLinuxで開発してて、それからWindows用に移植したんですよ
で、MinGWが手軽だったからMinGW使ってたんだけど
551(1): 2019/08/22(木)10:15 ID:xQsiKIbM(1) AAS
そんな用途には tdmgcc64 おすすめ
552: 2019/08/23(金)03:35 ID:jZ19Qjup(1/2) AAS
ググっても一件しか出なかった
gccなのはわかる
553(2): 2019/08/23(金)15:09 ID:Zx6EO+xk(1) AAS
これやろ
外部リンク:ja.wikipedia.org
外部リンク:tdm-gcc.tdragon.net
554: 2019/08/23(金)18:17 ID:jZ19Qjup(2/2) AAS
>>553
おお、ありがとう
ダウンロードしてみる
555(1): 2019/08/23(金)18:24 ID:aZS2aOxa(1) AAS
今はこっちが良くね
外部リンク:text.baldanders.info
556: 2019/08/24(土)06:55 ID:Glqz8i+r(1/2) AAS
TDM-GCCでビルドしたら遅いの無くなったかもしれない(*´Д`)!!!
>>551
>>553
もう少し様子見るけど、まじでありがとう
>>555
これはMinGWとは違うの?
557: 2019/08/24(土)09:36 ID:u2q8uNB0(1/2) AAS
staticになってるだけというオチだったらわろす
558(1): 2019/08/24(土)14:59 ID:H4K4vAej(1) AAS
ただ単に -static -O3 -mtune=skylake を指定していないだけ
じゃねえだろうな?
559(1): 2019/08/24(土)17:29 ID:Glqz8i+r(2/2) AAS
staticオプションは特に指定しませんが……
dllの読み込みが原因だとしたらstaticにすれば解決という話ですか
そういう発想はなかった
>>558
--mtune=skylakeってなんですか?
560(1): 2019/08/24(土)17:48 ID:u2q8uNB0(2/2) AAS
DLLよりstaticが速いとか都市伝説
561(1): 2019/08/25(日)16:54 ID:z6AAmiat(1) AAS
>>559
-O3はコードの最適化を3レベル(あるいはタイプ3)で行う
実際に何を行っているかはコンパイランの説明を読まないと分からない
-mtune=skylakeはコードをIntel CPUのSkyLakeアーキテクチャで最適な形にする
どちらも記述したコードを実行形式にするときに最適化を行うオプションなので、
非常に大きなコードを書いた際や似たような処理を繰り返すコードを書いている際に
指定すると早くなる事もある(ライブラリに含まれるコードは最適化されない)
>>560
都市伝説ってこともない
関数A、B、C、Dが含まれるライブラリlibhogeが存在する場合、自分のプログラムで
省15
562: 2019/08/25(日)19:02 ID:7s5pz20M(1) AAS
もっと短く
563(1): 2019/08/25(日)23:51 ID:V1f8d4H1(1) AAS
>>561
ということは--static -O3 -mtune=skylakeでビルドすれば起動が早くなるかもということですか
時間があるときに試したいと思いますm(_ _)m
564: 2019/08/26(月)01:28 ID:K2zp8I6+(1) AAS
やっぱり名前解決の問題が大きいんすよ
ライブラリの読み込みだけでは説明できない
565(1): 2019/08/26(月)14:11 ID:T0vtMl8v(1/2) AAS
>スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した
>関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが
これ関数単位でソース分けてあって
一関数が一objになってる場合だけだよな
566(1): 2019/08/26(月)14:11 ID:T0vtMl8v(2/2) AAS
>スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した
>関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが
これ関数単位でソース分けてあって
一関数が一objになってる場合だけだよな
567: 2019/08/26(月)17:43 ID:eYWa871J(1) AAS
dll読み込みってそんなに重いかな?
なんか別のところで時間がかかっていそうな感じ。
568: 2019/08/26(月)21:44 ID:CEMf0Y7L(1) AAS
>>565-566
MinGWの場合はそうかな。確かMinGWでは--gc-sectionsが効かなかったかと。
LTOで未使用関数が除去されるかもしれないけどバグが多いので試してない。
569: 2019/08/27(火)05:30 ID:FSIINwco(1) AAS
>>563
でビルドしてみました
様子見します
-O3は、前にビルドしたときにプログラムがうまく動作しないことがあったんですよね
-O0にすると正常に動作したんですけど
570: 2019/08/27(火)09:41 ID:NZJyfwBK(1) AAS
-O3に完璧を求める方が可笑しい
571: 2019/08/27(火)11:08 ID:NDEdv6OD(1) AAS
そこで-Ofastですよ
572: 2019/08/27(火)12:32 ID:j4wzaSFP(1) AAS
-O3と-O0で挙動が違うのは、不定の値を使っているとか、
未規定の動作に依存しているとか、そういう系だぞ
まれにコンパイラのバグということもあるが大抵てめーが悪い
573: 2019/08/28(水)17:10 ID:w9RtsrXP(1) AAS
VCで造られたdllをmingwのgccで使いたいです
hoge.dll と hoge.lib は有るのですが
libhoge.a がありません
あと hoge.c とかのソースファイルもありません
hoge.def は hoge.dll から作れるのですが
hoge.lib から libhoge.a を作るのはどうすればよかったか思い出せません
574: 2019/08/28(水)17:25 ID:iAy2zRVx(1) AAS
外部リンク:stackoverflow.com
dlltool.exe -m i386:x86-64 -d libhoge.def -D hoge.dll -l libhoge.a
dlltool.exe -m i386 -d libhoge.def -D hoge.dll -l libhoge.a
しらんけど
575: 2019/08/28(水)17:45 ID:4qorfKL6(1) AAS
実際parallelstlをコンパイルするのはVCの方が楽だしな
これを.aに変換したいと思っていたのでありがたいです
576: 2019/09/03(火)16:24 ID:fy59PR5b(1) AAS
9.2.0 Rev2 でPCHのエラーが出なくなった。
577: 2019/09/13(金)12:46 ID:wKEqF87n(1/2) AAS
本物のWInネイティブアプリの起動はもっと速いのかもしれません。
MinGW+MSYS2がCygwinより速い理由が釈然としませんが、
forkがCygwinのものまんまよりは多少軽量だったりするんだろうか
Twitterリンク:nullpo_head
Twitterリンク:5chan_nel (5ch newer account)
上下前次1-新書関写板覧索設栞歴
あと 410 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.018s