Cygwin + MinGW + GCC 相談室 Part 8 (987レス)
Cygwin + MinGW + GCC 相談室 Part 8 http://mevius.5ch.net/test/read.cgi/tech/1411399211/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
545: デフォルトの名無しさん [sage] 2019/08/21(水) 17:19:04.83 ID:iGK2Kp/R 雑な事いえばminttyやMSYSを起動すると、起動した時点でMinGWのdllが 読み込まれるのでコマンド起動遅くならないのでは http://mevius.5ch.net/test/read.cgi/tech/1411399211/545
546: デフォルトの名無しさん [] 2019/08/21(水) 17:33:03.25 ID:ur92HW83 それならそれで解決とするか http://mevius.5ch.net/test/read.cgi/tech/1411399211/546
547: デフォルトの名無しさん [sage] 2019/08/21(水) 23:34:12.77 ID:L4bPYRCx dllの読み込みに時間かかってるってことですか なるほど ということはMinGWでコンパイルしたバイナリ全般に現れる問題っぽいですね http://mevius.5ch.net/test/read.cgi/tech/1411399211/547
548: デフォルトの名無しさん [sage] 2019/08/22(木) 04:38:34.97 ID:Rc8J28Ob コマンドプロンプトで実行するようなプログラムは Windowsネイティブアプリにしろよw http://mevius.5ch.net/test/read.cgi/tech/1411399211/548
549: デフォルトの名無しさん [sage] 2019/08/22(木) 05:37:28.68 ID:rzNCVH2V MinGWで作ったら余程変態技を使わない限りWindowsネイティブアプリ http://mevius.5ch.net/test/read.cgi/tech/1411399211/549
550: デフォルトの名無しさん [sage] 2019/08/22(木) 06:10:29.02 ID:dqAPG5D5 >>548 最初はLinuxで開発してて、それからWindows用に移植したんですよ で、MinGWが手軽だったからMinGW使ってたんだけど http://mevius.5ch.net/test/read.cgi/tech/1411399211/550
551: デフォルトの名無しさん [] 2019/08/22(木) 10:15:45.06 ID:xQsiKIbM そんな用途には tdmgcc64 おすすめ http://mevius.5ch.net/test/read.cgi/tech/1411399211/551
552: デフォルトの名無しさん [sage] 2019/08/23(金) 03:35:27.20 ID:jZ19Qjup ググっても一件しか出なかった gccなのはわかる http://mevius.5ch.net/test/read.cgi/tech/1411399211/552
553: デフォルトの名無しさん [] 2019/08/23(金) 15:09:01.75 ID:Zx6EO+xk これやろ https://ja.wikipedia.org/wiki/TDM-GCC http://tdm-gcc.tdragon.net/download http://mevius.5ch.net/test/read.cgi/tech/1411399211/553
554: デフォルトの名無しさん [sage] 2019/08/23(金) 18:17:23.56 ID:jZ19Qjup >>553 おお、ありがとう ダウンロードしてみる http://mevius.5ch.net/test/read.cgi/tech/1411399211/554
555: デフォルトの名無しさん [] 2019/08/23(金) 18:24:15.33 ID:aZS2aOxa 今はこっちが良くね https://text.baldanders.info/remark/2018/03/mingw-w64/ http://mevius.5ch.net/test/read.cgi/tech/1411399211/555
556: デフォルトの名無しさん [sage] 2019/08/24(土) 06:55:34.51 ID:Glqz8i+r TDM-GCCでビルドしたら遅いの無くなったかもしれない(*´Д`)!!! >>551 >>553 もう少し様子見るけど、まじでありがとう >>555 これはMinGWとは違うの? http://mevius.5ch.net/test/read.cgi/tech/1411399211/556
557: デフォルトの名無しさん [] 2019/08/24(土) 09:36:31.35 ID:u2q8uNB0 staticになってるだけというオチだったらわろす http://mevius.5ch.net/test/read.cgi/tech/1411399211/557
558: デフォルトの名無しさん [sage] 2019/08/24(土) 14:59:08.43 ID:H4K4vAej ただ単に -static -O3 -mtune=skylake を指定していないだけ じゃねえだろうな? http://mevius.5ch.net/test/read.cgi/tech/1411399211/558
559: デフォルトの名無しさん [sage] 2019/08/24(土) 17:29:38.98 ID:Glqz8i+r staticオプションは特に指定しませんが…… dllの読み込みが原因だとしたらstaticにすれば解決という話ですか そういう発想はなかった >>558 --mtune=skylakeってなんですか? http://mevius.5ch.net/test/read.cgi/tech/1411399211/559
560: デフォルトの名無しさん [] 2019/08/24(土) 17:48:35.57 ID:u2q8uNB0 DLLよりstaticが速いとか都市伝説 http://mevius.5ch.net/test/read.cgi/tech/1411399211/560
561: デフォルトの名無しさん [sage] 2019/08/25(日) 16:54:37.16 ID:z6AAmiat >>559 -O3はコードの最適化を3レベル(あるいはタイプ3)で行う 実際に何を行っているかはコンパイランの説明を読まないと分からない -mtune=skylakeはコードをIntel CPUのSkyLakeアーキテクチャで最適な形にする どちらも記述したコードを実行形式にするときに最適化を行うオプションなので、 非常に大きなコードを書いた際や似たような処理を繰り返すコードを書いている際に 指定すると早くなる事もある(ライブラリに含まれるコードは最適化されない) >>560 都市伝説ってこともない 関数A、B、C、Dが含まれるライブラリlibhogeが存在する場合、自分のプログラムで 関数BとDだけを使っていると、ダイナミックリンクの場合自分のプログラムの実行 コードに加えてすべての関数が含まれるlibhoge.dll全体を読み込む必要がある スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した 関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが 早くなる可能性は高くなる ただし、実際問題としてはdllを一回読み込めばキャッシュからなくならない限り読み込む 必要がない+Windowsのプログラミングで使用するライブラリで基本的なものは通常 システムを起動した時点でキャッシュされていることに加えて、Windowsでプログラムを 動かすために必要な関数郡はかなりの量になる事が多いのでスタティックにリンクすると すでにキャッシュされている関数郡を使わずに、必要な関数郡を含んだ大きなコードを 読み込む必要があるのでスタティックリンクの方が起動が遅くなるって本末転倒な事態が 発生することもある MinGWの場合にはWindows一般では使わないライブラリを使用するので1回目の 起動時には必要なdllを読み込むよりは、必要な関数のみをリンクしたスタティックな 状態の方が早い場合があるかもってこと http://mevius.5ch.net/test/read.cgi/tech/1411399211/561
562: デフォルトの名無しさん [sage] 2019/08/25(日) 19:02:38.36 ID:7s5pz20M もっと短く http://mevius.5ch.net/test/read.cgi/tech/1411399211/562
563: デフォルトの名無しさん [sage] 2019/08/25(日) 23:51:01.48 ID:V1f8d4H1 >>561 ということは--static -O3 -mtune=skylakeでビルドすれば起動が早くなるかもということですか 時間があるときに試したいと思いますm(_ _)m http://mevius.5ch.net/test/read.cgi/tech/1411399211/563
564: デフォルトの名無しさん [sage] 2019/08/26(月) 01:28:47.93 ID:K2zp8I6+ やっぱり名前解決の問題が大きいんすよ ライブラリの読み込みだけでは説明できない http://mevius.5ch.net/test/read.cgi/tech/1411399211/564
565: デフォルトの名無しさん [] 2019/08/26(月) 14:11:24.03 ID:T0vtMl8v >スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した >関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが これ関数単位でソース分けてあって 一関数が一objになってる場合だけだよな http://mevius.5ch.net/test/read.cgi/tech/1411399211/565
566: デフォルトの名無しさん [] 2019/08/26(月) 14:11:24.09 ID:T0vtMl8v >スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した >関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが これ関数単位でソース分けてあって 一関数が一objになってる場合だけだよな http://mevius.5ch.net/test/read.cgi/tech/1411399211/566
567: デフォルトの名無しさん [sage] 2019/08/26(月) 17:43:39.53 ID:eYWa871J dll読み込みってそんなに重いかな? なんか別のところで時間がかかっていそうな感じ。 http://mevius.5ch.net/test/read.cgi/tech/1411399211/567
568: デフォルトの名無しさん [sage] 2019/08/26(月) 21:44:29.54 ID:CEMf0Y7L >>565-566 MinGWの場合はそうかな。確かMinGWでは--gc-sectionsが効かなかったかと。 LTOで未使用関数が除去されるかもしれないけどバグが多いので試してない。 http://mevius.5ch.net/test/read.cgi/tech/1411399211/568
569: デフォルトの名無しさん [sage] 2019/08/27(火) 05:30:30.81 ID:FSIINwco >>563 でビルドしてみました 様子見します -O3は、前にビルドしたときにプログラムがうまく動作しないことがあったんですよね -O0にすると正常に動作したんですけど http://mevius.5ch.net/test/read.cgi/tech/1411399211/569
570: デフォルトの名無しさん [] 2019/08/27(火) 09:41:49.02 ID:NZJyfwBK -O3に完璧を求める方が可笑しい http://mevius.5ch.net/test/read.cgi/tech/1411399211/570
571: デフォルトの名無しさん [sage] 2019/08/27(火) 11:08:45.95 ID:NDEdv6OD そこで-Ofastですよ http://mevius.5ch.net/test/read.cgi/tech/1411399211/571
572: デフォルトの名無しさん [sage] 2019/08/27(火) 12:32:02.21 ID:j4wzaSFP -O3と-O0で挙動が違うのは、不定の値を使っているとか、 未規定の動作に依存しているとか、そういう系だぞ まれにコンパイラのバグということもあるが大抵てめーが悪い http://mevius.5ch.net/test/read.cgi/tech/1411399211/572
573: デフォルトの名無しさん [] 2019/08/28(水) 17:10:08.53 ID:w9RtsrXP VCで造られたdllをmingwのgccで使いたいです hoge.dll と hoge.lib は有るのですが libhoge.a がありません あと hoge.c とかのソースファイルもありません hoge.def は hoge.dll から作れるのですが hoge.lib から libhoge.a を作るのはどうすればよかったか思い出せません http://mevius.5ch.net/test/read.cgi/tech/1411399211/573
574: デフォルトの名無しさん [] 2019/08/28(水) 17:25:07.66 ID:iAy2zRVx https://stackoverflow.com/questions/8683046/compatibility-of-dll-a-lib-def-between-visualstudio-and-gcc 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 しらんけど http://mevius.5ch.net/test/read.cgi/tech/1411399211/574
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 413 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.026s