Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。
過去スレ:
Cygwin + MinGW + GCC 相談室 Part 7
http://peace.2ch.net/test/read.cgi/tech/1357019230/
Cygwin + MinGW + GCC 相談室 Part 6
http://toro.2ch.net/test/read.cgi/tech/1304609116/
Cygwin + MinGW + GCC 相談室 Part 5
http://hibari.2ch.net/test/read.cgi/tech/1269400706/
Cygwin + MinGW + GCC 相談室 Part 4
http://pc12.2ch.net/test/read.cgi/tech/1221233882/
cygwin + mingwn + gcc 相談室 Part3
http://pc11.2ch.net/test/read.cgi/tech/1177944767/
cygwin + mingwn + gcc 相談室 Part2
http://pc11.2ch.net/test/read.cgi/tech/1126103347/
cygwin + mingwn + gcc 相談室
http://pc8.2ch.net/test/read.cgi/tech/1058134693/
関連サイト:
Cygwin http://www.cygwin.com/
MinGW http://www.mingw.org/
関連スレッド:
GCCについて part10
http://toro.2ch.net/test/read.cgi/tech/1315026784/
Cygwin + MinGW + GCC 相談室 Part 8
1デフォルトの名無しさん
2014/09/23(火) 00:20:11.40ID:G97CLCj1478デフォルトの名無しさん
2019/03/23(土) 18:17:20.21ID:iMO+WCpL ダミーで ./c/hoge -> /c/hoge みたいなリンク作って path に追加したら?
479デフォルトの名無しさん
2019/04/10(水) 07:27:34.52ID:qyNiIlQC Windows 8.1 64bit 上で
>set | findstr PATH > c:\tmp\PATH.txt
>set | findstr Path > c:\tmp\Path.txt
したらファイル1つしか残らなかっただ…。
LFN でも大文字小文字区別せんのか…
Windows10 だと違うのか
>set | findstr PATH > c:\tmp\PATH.txt
>set | findstr Path > c:\tmp\Path.txt
したらファイル1つしか残らなかっただ…。
LFN でも大文字小文字区別せんのか…
Windows10 だと違うのか
480デフォルトの名無しさん
2019/04/10(水) 07:35:50.12ID:qyNiIlQC chcp 65001
するのって常識???
するのって常識???
481デフォルトの名無しさん
2019/04/10(水) 10:38:27.98ID:g9h2j5fz chcp 65001 はバグだらけだから今はしないのが常識
482デフォルトの名無しさん
2019/04/10(水) 11:57:36.05ID:ctVOU6iK483デフォルトの名無しさん
2019/04/12(金) 02:01:09.38ID:K5RuTlhq test
484デフォルトの名無しさん
2019/04/12(金) 02:02:22.10ID:K5RuTlhq cp932でgcc-8.2.0がコンソールを深紅に染めない環境はありますか
485デフォルトの名無しさん
2019/04/12(金) 02:03:18.43ID:K5RuTlhq findstr /I
で case insensitive 処理が出来るようですね
で case insensitive 処理が出来るようですね
486デフォルトの名無しさん
2019/04/12(金) 02:03:48.55ID:K5RuTlhq いずれも環境はWindows8.1 64bitです
487デフォルトの名無しさん
2019/04/17(水) 09:23:22.24ID:LMpL5fl6 mingw-w64-x86_64- が頭についてるGUIソフトってXなしで動くのですか?
また、これが頭についていないパッケージってなんのために存在するのですか?
また、これが頭についていないパッケージってなんのために存在するのですか?
488デフォルトの名無しさん
2019/04/17(水) 09:52:22.56ID:vaxiFaLk 名前はなんでもいいが、mingwをつかって直接windows api呼んでりゃXなしでうごく。あとQtとか使ってるのもあるじゃろう。
公式のパッケージは全部同じ命名なんじゃないか?なんか管理用のファイルとか?
公式のパッケージは全部同じ命名なんじゃないか?なんか管理用のファイルとか?
489デフォルトの名無しさん
2019/04/17(水) 10:10:51.07ID:RU1ct6Mv qt-5.12.2ならMinGWのgcc-7.3.0を入れられる
g++ & qtで書ける
g++ & qtで書ける
490デフォルトの名無しさん
2019/04/17(水) 10:14:46.50ID:RU1ct6Mv <私見>
qt charts ブチ込んでも、qt-5.12.2なら問題はリバースエンジニアリング関連にとどまる
なぜなら、qt chartsをインストール対象としてチェックしたうえでインストーラを進めても、
ライセンスとしてLGPLが選択可能で、GPLv3が要求する "displays an appropriate copyright notice" を満たさずGPLv3の適用を主張できないから
</私見>
正確なところは弁理士または弁護士に確認されたし
IPAの逐条訳が参考になるかも
qt charts ブチ込んでも、qt-5.12.2なら問題はリバースエンジニアリング関連にとどまる
なぜなら、qt chartsをインストール対象としてチェックしたうえでインストーラを進めても、
ライセンスとしてLGPLが選択可能で、GPLv3が要求する "displays an appropriate copyright notice" を満たさずGPLv3の適用を主張できないから
</私見>
正確なところは弁理士または弁護士に確認されたし
IPAの逐条訳が参考になるかも
491デフォルトの名無しさん
2019/04/17(水) 10:35:09.65ID:4gj66k19 >>488
例えばEmacsは両方あります
例えばEmacsは両方あります
492デフォルトの名無しさん
2019/04/17(水) 21:22:11.34ID:9Q2ukeRT msys用でしょ
493デフォルトの名無しさん
2019/04/18(木) 17:45:20.57ID:T5E1BM4x >>488
最初は意味が分からなかったんだけど、unix(っていうかLinux系かな)と同じGUIツールは
X11なしでも動くのなんでかなって話かな
これは>>488が書いているようにGUIの表示にX11を使っていなくてWindowsで表示可能な
GUIシステム(例えばmingw用のQtとか)で組まれているならば当然X11は必要ない
逆にX11ベースのxtermコマンド(あるならば)はX11サーバがないと表示できない
「mingw-w64-x86_64-」っていうのはマルチプラットフォーム/マルチアーキテクチャに
対応しているアプリケーションでプラットフォームやアーキテクチャをを表している
例えば「gcc」は「mingw」や「linux」といった複数のプラットフォームで「x86」や「arm」など
複数のアーキテクチャに対応している
なのでこの「gcc」は「64bit Windows」の「mingw」で「x86」系のCPUで動く「64bit」CPUで
動くよって意味で「mingw-w64-x86_64-」という接頭語みたいなのが付けられている
ただし接頭語が付いたままだと使うときにユーザーが一々プラットフォームとアーキ
テクチャを意識しなければならないし、configureみたいにその辺を自分で解決できる
スクリプトとかアプリケーションでないと一般的なコマンドとして使用出来ないので接頭語
なしのコマンドが用意されている
Linuxの場合には複数バイナリを用意するのは無駄なので接頭語つきのコマンドに
シンボリックリンクされた接頭語なしコマンド名が作られているけど「MSYS」みたいな
Windows上で動作する環境の場合シンボリックリンクに対応していないので同じバイナリが
2つあるような感じで実装されてたりするって感じかな
最初は意味が分からなかったんだけど、unix(っていうかLinux系かな)と同じGUIツールは
X11なしでも動くのなんでかなって話かな
これは>>488が書いているようにGUIの表示にX11を使っていなくてWindowsで表示可能な
GUIシステム(例えばmingw用のQtとか)で組まれているならば当然X11は必要ない
逆にX11ベースのxtermコマンド(あるならば)はX11サーバがないと表示できない
「mingw-w64-x86_64-」っていうのはマルチプラットフォーム/マルチアーキテクチャに
対応しているアプリケーションでプラットフォームやアーキテクチャをを表している
例えば「gcc」は「mingw」や「linux」といった複数のプラットフォームで「x86」や「arm」など
複数のアーキテクチャに対応している
なのでこの「gcc」は「64bit Windows」の「mingw」で「x86」系のCPUで動く「64bit」CPUで
動くよって意味で「mingw-w64-x86_64-」という接頭語みたいなのが付けられている
ただし接頭語が付いたままだと使うときにユーザーが一々プラットフォームとアーキ
テクチャを意識しなければならないし、configureみたいにその辺を自分で解決できる
スクリプトとかアプリケーションでないと一般的なコマンドとして使用出来ないので接頭語
なしのコマンドが用意されている
Linuxの場合には複数バイナリを用意するのは無駄なので接頭語つきのコマンドに
シンボリックリンクされた接頭語なしコマンド名が作られているけど「MSYS」みたいな
Windows上で動作する環境の場合シンボリックリンクに対応していないので同じバイナリが
2つあるような感じで実装されてたりするって感じかな
494デフォルトの名無しさん
2019/04/19(金) 16:30:35.71ID:kPHA0zLK >>493
違います
違います
495デフォルトの名無しさん
2019/04/19(金) 17:02:11.09ID:dBiDFHmq emacsはX Window System必須ではなかったような気もするし今は違うのかも知れないし何とも
496デフォルトの名無しさん
2019/04/19(金) 17:21:27.71ID:jGjLpvIL windowsではcygwinのやつ使っとるよ。
msys2/mingwはいまいち信用できん。
なんにせよXは不要だよ
msys2/mingwはいまいち信用できん。
なんにせよXは不要だよ
497デフォルトの名無しさん
2019/04/19(金) 20:44:01.33ID:Cry1IFM3 cygwinのはXlibリンクしてるんじゃない?
498デフォルトの名無しさん
2019/04/22(月) 22:01:05.02ID:dWmpunjw >>497
嘘はよくない
嘘はよくない
499デフォルトの名無しさん
2019/04/23(火) 00:42:18.05ID:YVNM1Id6 emacs-X11とemacs-w32があるから嘘でもない
500デフォルトの名無しさん
2019/04/23(火) 01:02:36.94ID:mPLR84qw まだastec-xとか売ってるんですね
501デフォルトの名無しさん
2019/05/02(木) 21:24:20.65ID:qbL1jEY8 valgrind みたいにアクセス違反検出する仕組で msys2 上で使えるものってあります?
502デフォルトの名無しさん
2019/05/08(水) 17:58:41.57ID:jUoRAJVn >>501
ないですね
ないですね
503デフォルトの名無しさん
2019/05/21(火) 22:53:35.55ID:5dr0Nkwr >>501
ありますよ
ありますよ
504デフォルトの名無しさん
2019/05/22(水) 01:15:47.82ID:zrih+ccQ Windows 上で g++ & qt ってどのくらいメジャーなのかな
とりあえず「オレオレコード」書くなら C++11 とかかいな
GCの仕組みとか全く知らんけど
「適切なC++11の教科書などない!」という話もあるけど
Python 使え?
とりあえず「オレオレコード」書くなら C++11 とかかいな
GCの仕組みとか全く知らんけど
「適切なC++11の教科書などない!」という話もあるけど
Python 使え?
505デフォルトの名無しさん
2019/05/22(水) 11:00:03.94ID:1OSMRbFi C++11 なんてオワコンだからやめとけ
506デフォルトの名無しさん
2019/05/22(水) 17:17:32.49ID:qHBIaGAD >>504
話もあるけどね
話もあるけどね
507デフォルトの名無しさん
2019/06/03(月) 06:28:27.40ID:+7d3cfJz ふう😎
508デフォルトの名無しさん
2019/06/13(木) 16:59:54.42ID:/0Hvd4dT cygwin に apt-cyg find R したら Rがあった(長らくこれはなかった)
感動的だ
ようやくWindowsの上でもスタート地点に立った
感動的だ
ようやくWindowsの上でもスタート地点に立った
509デフォルトの名無しさん
2019/06/13(木) 19:08:21.05ID:t/TgILxI いまから C++ (and qt) をゼロから習得するなら
基本的には C++17 レベル???
https://cpprefjp.github.io/implementation-status.html みたかんじ
殆ど実装されてるっぽい???
基本的には C++17 レベル???
https://cpprefjp.github.io/implementation-status.html みたかんじ
殆ど実装されてるっぽい???
510デフォルトの名無しさん
2019/06/13(木) 22:37:36.09ID:tYlssfYj ものすごい今さらな質問なんだが・・・
Cygwin て何て発音するんだ?サイウイン?
まわりに使ってるやつ1人もいないから実際に発音することがなくて困る
Cygwin て何て発音するんだ?サイウイン?
まわりに使ってるやつ1人もいないから実際に発音することがなくて困る
511デフォルトの名無しさん
2019/06/13(木) 22:43:02.73ID:C6mR/1ai >>510
ttps://ja.wikipedia.org/wiki/Cygwin
ttps://ja.wikipedia.org/wiki/Cygwin
512デフォルトの名無しさん
2019/06/13(木) 23:07:55.81ID:rmSOkmKf まじかよ・・人前で発音してなくてよかった
513デフォルトの名無しさん
2019/06/14(金) 00:04:54.99ID:7DXJVUad cygnusはキグナスだった?
mingwがむしろ困るよな
mingwがむしろ困るよな
514デフォルトの名無しさん
2019/06/14(金) 11:01:55.94ID:YE54Q2cv みんじーだぶる
515デフォルトの名無しさん
2019/06/14(金) 11:06:24.98ID:LY52/qBF みんぐうじゃないのか
516デフォルトの名無しさん
2019/06/14(金) 12:20:34.75ID:5t0rLbyA cygnusは英語では、「シグナス」です。
むかし、Cygnusと云う商標で、「キグナス石油」という会社が
あったので、Cygnusを英語読みで[シグナス」ということを
知らないで、、「キグナス」と読んだりするみたいです。
ちょっと、きになったら、『英和辞典」を引いてみるとよいでしょう。
むかし、Cygnusと云う商標で、「キグナス石油」という会社が
あったので、Cygnusを英語読みで[シグナス」ということを
知らないで、、「キグナス」と読んだりするみたいです。
ちょっと、きになったら、『英和辞典」を引いてみるとよいでしょう。
517デフォルトの名無しさん
2019/06/14(金) 12:26:57.67ID:YE54Q2cv ジョアンとフアンとジョンとジャンと…
カルロスとチャールズとシャルルと…
ジョージとホルヘとゲオルクと…
カルロスとチャールズとシャルルと…
ジョージとホルヘとゲオルクと…
518デフォルトの名無しさん
2019/06/14(金) 12:28:33.37ID:7fHAKBFE >>516
英語しかできないってこと?
英語しかできないってこと?
519デフォルトの名無しさん
2019/06/14(金) 12:47:10.03ID:bpAwmG5b ペーターピーターピョートル
シーメンスジーメンス
ジャーマンゲルマンドイツドイチュ
シーメンスジーメンス
ジャーマンゲルマンドイツドイチュ
520デフォルトの名無しさん
2019/06/14(金) 19:09:25.40ID:YE54Q2cv 英語読みにこだわるなら
Linux は「らいなくす」か
Linux は「らいなくす」か
521デフォルトの名無しさん
2019/06/14(金) 23:28:44.92ID:5t0rLbyA フランス語は
cygne
で、cygnusとは違います。
ラテン語は、英語と同じ
cygnus
です。
cygne
で、cygnusとは違います。
ラテン語は、英語と同じ
cygnus
です。
522デフォルトの名無しさん
2019/06/15(土) 00:44:39.57ID:Dx2Qxwyp523デフォルトの名無しさん
2019/06/15(土) 11:12:22.87ID:Z5/LYv7k Cognac
Tough
Lamborghini
を思い出す
Tough
Lamborghini
を思い出す
524デフォルトの名無しさん
2019/06/20(木) 22:49:09.67ID:saP3r1IF クンタッシ
525デフォルトの名無しさん
2019/06/22(土) 19:12:03.45ID:UYyu+IU/ >>523
ぶぁーか
ぶぁーか
526デフォルトの名無しさん
2019/06/23(日) 05:49:44.99ID:g5igmDJr MinGW更新が滞っています
527デフォルトの名無しさん
2019/06/24(月) 05:27:39.62ID:bdPLxrDs528デフォルトの名無しさん
2019/06/24(月) 12:32:30.26ID:INmKbVms msys2もWSL2で役目終了かな
529デフォルトの名無しさん
2019/06/24(月) 16:47:30.43ID:Qf6r6oPW そして焼け野原
530デフォルトの名無しさん
2019/06/25(火) 20:17:15.80ID:Cgc4J/db >>529
一言余計なんだよカス
一言余計なんだよカス
531デフォルトの名無しさん
2019/06/25(火) 20:43:23.33ID:mNuvBnC/ 効いてるw
532デフォルトの名無しさん
2019/06/25(火) 21:35:27.64ID:0CG+TeYQ533デフォルトの名無しさん
2019/06/26(水) 01:21:30.62ID:uaiF8BI0 >>532
普通チェックしないし使わない
普通チェックしないし使わない
534デフォルトの名無しさん
2019/07/02(火) 16:03:24.73ID:+WA62fsw >>533
効いてるw
効いてるw
535デフォルトの名無しさん
2019/08/05(月) 11:53:08.29ID:r6BvniMN clang で良いんじゃないの? Google もGCC からclang に切り替えたし。
536デフォルトの名無しさん
2019/08/13(火) 11:23:23.39ID:5isOnGEb gcc-9.2
537デフォルトの名無しさん
2019/08/14(水) 15:59:31.43ID:cSlSK8mm > warning: hoge.hpp.gch/fuga.gch: had text segment at different address
9.2でこんなエラーが出るようになってPCHが効かない。ビルド時間が3倍に。
> cc1plus.exe: warning: '-Werror=' argument '-Werror=hoge-fuga' is not valid for C++
あとこんな警告が大量に出るようになって邪魔。
9.2でこんなエラーが出るようになってPCHが効かない。ビルド時間が3倍に。
> cc1plus.exe: warning: '-Werror=' argument '-Werror=hoge-fuga' is not valid for C++
あとこんな警告が大量に出るようになって邪魔。
538デフォルトの名無しさん
2019/08/20(火) 15:18:40.97ID:4DZMx7ke MinGWで作ったバイナリ、コマンドプロンプトで実行するとすごい遅い
一回実行するとキャッシュでもされるのかそれ以降の実行はわりと速い
ひどいときはプロセス間通信を使ってるバイナリで実行から終了まで7秒とかかかったりする
Gitとかはコマンドプロンプトで実行してもすぐに実行されるんだけど、何が違うんだろう
ウィルスソフトのリアルタイムスキャンに時間がかかってるのかと思って、問題のバイナリの除外設定とかしてみたけど、効果なかった
問題のバイナリはプロセス間通信を使ってるから、このプロセス間通信がボトルネックになってるのかなぁ
WindowsのCreateProcessはLinuxのforkに比べるとめちゃくちゃ遅いらしいし
一回実行するとキャッシュでもされるのかそれ以降の実行はわりと速い
ひどいときはプロセス間通信を使ってるバイナリで実行から終了まで7秒とかかかったりする
Gitとかはコマンドプロンプトで実行してもすぐに実行されるんだけど、何が違うんだろう
ウィルスソフトのリアルタイムスキャンに時間がかかってるのかと思って、問題のバイナリの除外設定とかしてみたけど、効果なかった
問題のバイナリはプロセス間通信を使ってるから、このプロセス間通信がボトルネックになってるのかなぁ
WindowsのCreateProcessはLinuxのforkに比べるとめちゃくちゃ遅いらしいし
539デフォルトの名無しさん
2019/08/20(火) 15:20:15.93ID:zlJnj2O9 cmd からじゃなくて mintty から実行しても遅いか?
540デフォルトの名無しさん
2019/08/20(火) 15:35:04.29ID:4DZMx7ke >>539
試してないけど試してみます
試してないけど試してみます
541デフォルトの名無しさん
2019/08/20(火) 15:50:21.30ID:KG2FXNu0 mkpasswdとかmkgroupとかやっとかないとあかんのじゃなかったっけ
542デフォルトの名無しさん
2019/08/20(火) 17:27:25.95ID:4DZMx7ke543デフォルトの名無しさん
2019/08/20(火) 17:37:17.04ID:zlJnj2O9 キャッシュしてるとしたら socks の dll かな
544デフォルトの名無しさん
2019/08/20(火) 17:51:30.05ID:ITb7FkqQ ログ吐かせてどこにネックがあるのかみてみないと
545デフォルトの名無しさん
2019/08/21(水) 17:19:04.83ID:iGK2Kp/R 雑な事いえばminttyやMSYSを起動すると、起動した時点でMinGWのdllが
読み込まれるのでコマンド起動遅くならないのでは
読み込まれるのでコマンド起動遅くならないのでは
546デフォルトの名無しさん
2019/08/21(水) 17:33:03.25ID:ur92HW83 それならそれで解決とするか
547デフォルトの名無しさん
2019/08/21(水) 23:34:12.77ID:L4bPYRCx dllの読み込みに時間かかってるってことですか
なるほど
ということはMinGWでコンパイルしたバイナリ全般に現れる問題っぽいですね
なるほど
ということはMinGWでコンパイルしたバイナリ全般に現れる問題っぽいですね
548デフォルトの名無しさん
2019/08/22(木) 04:38:34.97ID:Rc8J28Ob コマンドプロンプトで実行するようなプログラムは
Windowsネイティブアプリにしろよw
Windowsネイティブアプリにしろよw
549デフォルトの名無しさん
2019/08/22(木) 05:37:28.68ID:rzNCVH2V MinGWで作ったら余程変態技を使わない限りWindowsネイティブアプリ
550デフォルトの名無しさん
2019/08/22(木) 06:10:29.02ID:dqAPG5D5551デフォルトの名無しさん
2019/08/22(木) 10:15:45.06ID:xQsiKIbM そんな用途には tdmgcc64 おすすめ
552デフォルトの名無しさん
2019/08/23(金) 03:35:27.20ID:jZ19Qjup ググっても一件しか出なかった
gccなのはわかる
gccなのはわかる
553デフォルトの名無しさん
2019/08/23(金) 15:09:01.75ID:Zx6EO+xk554デフォルトの名無しさん
2019/08/23(金) 18:17:23.56ID:jZ19Qjup555デフォルトの名無しさん
2019/08/23(金) 18:24:15.33ID:aZS2aOxa556デフォルトの名無しさん
2019/08/24(土) 06:55:34.51ID:Glqz8i+r557デフォルトの名無しさん
2019/08/24(土) 09:36:31.35ID:u2q8uNB0 staticになってるだけというオチだったらわろす
558デフォルトの名無しさん
2019/08/24(土) 14:59:08.43ID:H4K4vAej ただ単に -static -O3 -mtune=skylake を指定していないだけ
じゃねえだろうな?
じゃねえだろうな?
559デフォルトの名無しさん
2019/08/24(土) 17:29:38.98ID:Glqz8i+r staticオプションは特に指定しませんが……
dllの読み込みが原因だとしたらstaticにすれば解決という話ですか
そういう発想はなかった
>>558
--mtune=skylakeってなんですか?
dllの読み込みが原因だとしたらstaticにすれば解決という話ですか
そういう発想はなかった
>>558
--mtune=skylakeってなんですか?
560デフォルトの名無しさん
2019/08/24(土) 17:48:35.57ID:u2q8uNB0 DLLよりstaticが速いとか都市伝説
561デフォルトの名無しさん
2019/08/25(日) 16:54:37.16ID: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を読み込むよりは、必要な関数のみをリンクしたスタティックな
状態の方が早い場合があるかもってこと
-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を読み込むよりは、必要な関数のみをリンクしたスタティックな
状態の方が早い場合があるかもってこと
562デフォルトの名無しさん
2019/08/25(日) 19:02:38.36ID:7s5pz20M もっと短く
563デフォルトの名無しさん
2019/08/25(日) 23:51:01.48ID:V1f8d4H1564デフォルトの名無しさん
2019/08/26(月) 01:28:47.93ID:K2zp8I6+ やっぱり名前解決の問題が大きいんすよ
ライブラリの読み込みだけでは説明できない
ライブラリの読み込みだけでは説明できない
565デフォルトの名無しさん
2019/08/26(月) 14:11:24.03ID:T0vtMl8v >スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した
>関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが
これ関数単位でソース分けてあって
一関数が一objになってる場合だけだよな
>関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが
これ関数単位でソース分けてあって
一関数が一objになってる場合だけだよな
566デフォルトの名無しさん
2019/08/26(月) 14:11:24.09ID:T0vtMl8v >スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した
>関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが
これ関数単位でソース分けてあって
一関数が一objになってる場合だけだよな
>関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが
これ関数単位でソース分けてあって
一関数が一objになってる場合だけだよな
567デフォルトの名無しさん
2019/08/26(月) 17:43:39.53ID:eYWa871J dll読み込みってそんなに重いかな?
なんか別のところで時間がかかっていそうな感じ。
なんか別のところで時間がかかっていそうな感じ。
568デフォルトの名無しさん
2019/08/26(月) 21:44:29.54ID:CEMf0Y7L569デフォルトの名無しさん
2019/08/27(火) 05:30:30.81ID:FSIINwco570デフォルトの名無しさん
2019/08/27(火) 09:41:49.02ID:NZJyfwBK -O3に完璧を求める方が可笑しい
571デフォルトの名無しさん
2019/08/27(火) 11:08:45.95ID:NDEdv6OD そこで-Ofastですよ
572デフォルトの名無しさん
2019/08/27(火) 12:32:02.21ID:j4wzaSFP -O3と-O0で挙動が違うのは、不定の値を使っているとか、
未規定の動作に依存しているとか、そういう系だぞ
まれにコンパイラのバグということもあるが大抵てめーが悪い
未規定の動作に依存しているとか、そういう系だぞ
まれにコンパイラのバグということもあるが大抵てめーが悪い
573デフォルトの名無しさん
2019/08/28(水) 17:10:08.53ID:w9RtsrXP VCで造られたdllをmingwのgccで使いたいです
hoge.dll と hoge.lib は有るのですが
libhoge.a がありません
あと hoge.c とかのソースファイルもありません
hoge.def は hoge.dll から作れるのですが
hoge.lib から libhoge.a を作るのはどうすればよかったか思い出せません
hoge.dll と hoge.lib は有るのですが
libhoge.a がありません
あと hoge.c とかのソースファイルもありません
hoge.def は hoge.dll から作れるのですが
hoge.lib から libhoge.a を作るのはどうすればよかったか思い出せません
574デフォルトの名無しさん
2019/08/28(水) 17:25:07.66ID: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
しらんけど
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:16.06ID:4qorfKL6 実際parallelstlをコンパイルするのはVCの方が楽だしな
これを.aに変換したいと思っていたのでありがたいです
これを.aに変換したいと思っていたのでありがたいです
576デフォルトの名無しさん
2019/09/03(火) 16:24:26.27ID:fy59PR5b 9.2.0 Rev2 でPCHのエラーが出なくなった。
577デフォルトの名無しさん
2019/09/13(金) 12:46:20.65ID:wKEqF87n 本物のWInネイティブアプリの起動はもっと速いのかもしれません。
MinGW+MSYS2がCygwinより速い理由が釈然としませんが、
forkがCygwinのものまんまよりは多少軽量だったりするんだろうか
https://twitter.com/nullpo_head/status/905032098506915840
https://twitter.com/5chan_nel (5ch newer account)
MinGW+MSYS2がCygwinより速い理由が釈然としませんが、
forkがCygwinのものまんまよりは多少軽量だったりするんだろうか
https://twitter.com/nullpo_head/status/905032098506915840
https://twitter.com/5chan_nel (5ch newer account)
レスを投稿する
ニュース
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- 立民・岡田氏の質疑「不適切」 維新・藤田氏、台湾有事答弁巡り [蚤の市★]
