Cygwin + MinGW + GCC 相談室 Part 8 (987レス)
1-

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)
578: 2019/09/13(金)12:48 ID:wKEqF87n(2/2) AAS
ビルド環境のまとめ
画像リンク[png]:i.loveruby.net
外部リンク[html]:i.loveruby.net
579: 2019/09/13(金)13:01 ID:hxTRiT39(1) AAS
mingwはその本物のネイティブとちゃうか
580: 2019/09/13(金)15:13 ID:ud7Tmahn(1) AAS
cygwin の fork = native じゃなくて emu
mingw の fork = あるんか?
581
(1): 2019/09/13(金)16:40 ID:08rV0d8/(1) AAS
MinGW+MSYS2がCygwinより速い理由は
Cygwinはたとえ遅くなろうとも完璧なエミュレートを目指してるのに対して
MinGW+MSYS2は目指してないから
582: 2019/09/13(金)18:56 ID:2jKM3FP9(1) AAS
MSYS2は、Windowsネイティブアプリを作るための環境です。
Windowsネイティブアプリを作りましょう。
583: 2019/09/13(金)19:47 ID:+NnovRbX(1) AAS
>>581
どういうことなの…
584
(1): 2019/09/14(土)10:05 ID:NwEptffo(1/2) AAS
fork の歴史 (windows の fork 含む)
外部リンク:www.eelsgo.com
外部リンク:support.microsoft.com
585: 2019/09/14(土)10:32 ID:NwEptffo(2/2) AAS
なぜ今 fork が熱いのか
2chスレ:linux
586: 2019/09/14(土)11:49 ID:mIZ3m5oP(1) AAS
外部リンク:www.kobore.net
外部リンク:www.kobore.net
外部リンク:books.google.co.jp
587: 2019/09/15(日)06:58 ID:zbVYZgVB(1) AAS
>>584
むりぽ
外部リンク:social.msdn.microsoft.com
588: 2019/10/02(水)07:41 ID:WxowMW3Q(1) AAS
GMPって真面目にソースtarからビルドするしかないの? ビルド済みのバイナリですぐ使えるのがあれば欲しいんだけどcygwinのインストーラでチェック入れてもダメで、なんじゃこりゃってなってるんだけど。
589
(1): 2019/10/02(水)11:20 ID:55+aQRnY(1/3) AAS
外部リンク:stackoverflow.com
外部リンク:7shi.hateblo.jp
外部リンク[html]:cs.nyu.edu
1-
あと 398 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.013s