1 名前:デフォルトの名無しさん [2014/09/23(火) 00:20:11.40 ID:G97CLCj1.net] Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。 過去スレ: Cygwin + MinGW + GCC 相談室 Part 7 peace.2ch.net/test/read.cgi/tech/1357019230/ Cygwin + MinGW + GCC 相談室 Part 6 toro.2ch.net/test/read.cgi/tech/1304609116/ Cygwin + MinGW + GCC 相談室 Part 5 hibari.2ch.net/test/read.cgi/tech/1269400706/ Cygwin + MinGW + GCC 相談室 Part 4 pc12.2ch.net/test/read.cgi/tech/1221233882/ cygwin + mingwn + gcc 相談室 Part3 pc11.2ch.net/test/read.cgi/tech/1177944767/ cygwin + mingwn + gcc 相談室 Part2 pc11.2ch.net/test/read.cgi/tech/1126103347/ cygwin + mingwn + gcc 相談室 pc8.2ch.net/test/read.cgi/tech/1058134693/ 関連サイト: Cygwin www.cygwin.com/ MinGW www.mingw.org/ 関連スレッド: GCCについて part10 toro.2ch.net/test/read.cgi/tech/1315026784/
477 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 05:02:59.47 ID:P9Yklj5G.net] Cでgets_sコンパイルするとエラーになるんだけど 通す方法ってないすか
478 名前:はちみつ餃子 mailto:sage [2019/03/18(月) 14:59:42.06 ID:YfgH0B4l.net] >>477 gets_s は C11 から導入されたので C11 を有効にするオプション (-std=c11) を付ければいいんじゃね?
479 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 17:10:19.96 ID:yKiI4G/I.net] C11はこのあとC2aとか出るのかねえ
480 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 22:39:22.82 ID:5qst9NFY.net] >>478 わたしはぜひそれをしたいと思っていますがBasic Setupのツリーからその項目を見つけることができません どこにあるのでしょう><
481 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 22:54:37.22 ID:5qst9NFY.net] >>478 あ、もしかしてそれってターミナルでコンパイルするときに gcc -std=11 hoge.cとやれということでしょか?だとしたら死にたい…
482 名前:はちみつ餃子 mailto:sage [2019/03/23(土) 17:33:03.74 ID:ByL/s3eU.net] MSYS2 環境 (32bit) で Guile を実行するとライブラリのプリコンパイルが 始まってなかなか終わらないし、終わってから再度実行するとまた最初 から始まってしまう。 パス変換の考慮ミスで既にあるプリコンパイル済みライブラリを見つけらない (?) っぽい 報告もあるんだけど、これってどうにもならない?
483 名前:デフォルトの名無しさん [2019/03/23(土) 18:17:20.21 ID:iMO+WCpL.net] ダミーで ./c/hoge -> /c/hoge みたいなリンク作って path に追加したら?
484 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 07:27:34.52 ID:qyNiIlQC.net] Windows 8.1 64bit 上で >set | findstr PATH > c:\tmp\PATH.txt >set | findstr Path > c:\tmp\Path.txt したらファイル1つしか残らなかっただ…。 LFN でも大文字小文字区別せんのか… Windows10 だと違うのか
485 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 07:35:50.12 ID:qyNiIlQC.net] chcp 65001 するのって常識???
486 名前:デフォルトの名無しさん [2019/04/10(水) 10:38:27.98 ID:g9h2j5fz.net] chcp 65001 はバグだらけだから今はしないのが常識
487 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 11:57:36.05 ID:ctVOU6iK.net] >>484 grep -ir "abc" ./* grep でも使えば? i は、大文字小文字を区別しない。 r は、ディレクトリを再帰的にたどる
488 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 02:01:09.38 ID:K5RuTlhq.net] test
489 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 02:02:22.10 ID:K5RuTlhq.net] cp932でgcc-8.2.0がコンソールを深紅に染めない環境はありますか
490 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 02:03:18.43 ID:K5RuTlhq.net] findstr /I で case insensitive 処理が出来るようですね
491 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 02:03:48.55 ID:K5RuTlhq.net] いずれも環境はWindows8.1 64bitです
492 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 09:23:22.24 ID:LMpL5fl6.net] mingw-w64-x86_64- が頭についてるGUIソフトってXなしで動くのですか? また、これが頭についていないパッケージってなんのために存在するのですか?
493 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 09:52:22.56 ID:vaxiFaLk.net] 名前はなんでもいいが、mingwをつかって直接windows api呼んでりゃXなしでうごく。あとQtとか使ってるのもあるじゃろう。 公式のパッケージは全部同じ命名なんじゃないか?なんか管理用のファイルとか?
494 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 10:10:51.07 ID:RU1ct6Mv.net] qt-5.12.2ならMinGWのgcc-7.3.0を入れられる g++ & qtで書ける
495 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 10:14:46.50 ID:RU1ct6Mv.net] <私見> qt charts ブチ込んでも、qt-5.12.2なら問題はリバースエンジニアリング関連にとどまる なぜなら、qt chartsをインストール対象としてチェックしたうえでインストーラを進めても、 ライセンスとしてLGPLが選択可能で、GPLv3が要求する "displays an appropriate copyright notice" を満たさずGPLv3の適用を主張できないから </私見> 正確なところは弁理士または弁護士に確認されたし IPAの逐条訳が参考になるかも
496 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 10:35:09.65 ID:4gj66k19.net] >>493 例えばEmacsは両方あります
497 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 21:22:11.34 ID:9Q2ukeRT.net] msys用でしょ
498 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 17:45:20.57 ID:T5E1BM4x.net] >>493 最初は意味が分からなかったんだけど、unix(っていうかLinux系かな)と同じGUIツールは X11なしでも動くのなんでかなって話かな これは>>493 が書いているように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つあるような感じで実装されてたりするって感じかな
499 名前:デフォルトの名無しさん [2019/04/19(金) 16:30:35.71 ID:kPHA0zLK.net] >>498 違います
500 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 17:02:11.09 ID:dBiDFHmq.net] emacsはX Window System必須ではなかったような気もするし今は違うのかも知れないし何とも
501 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 17:21:27.71 ID:jGjLpvIL.net] windowsではcygwinのやつ使っとるよ。 msys2/mingwはいまいち信用できん。 なんにせよXは不要だよ
502 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 20:44:01.33 ID:Cry1IFM3.net] cygwinのはXlibリンクしてるんじゃない?
503 名前:デフォルトの名無しさん mailto:sage [2019/04/22(月) 22:01:05.02 ID:dWmpunjw.net] >>502 嘘はよくない
504 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 00:42:18.05 ID:YVNM1Id6.net] emacs-X11とemacs-w32があるから嘘でもない
505 名前:デフォルトの名無しさん mailto:sage [2019/04/23(火) 01:02:36.94 ID:mPLR84qw.net] まだastec-xとか売ってるんですね
506 名前:デフォルトの名無しさん mailto:sage [2019/05/02(木) 21:24:20.65 ID:qbL1jEY8.net] valgrind みたいにアクセス違反検出する仕組で msys2 上で使えるものってあります?
507 名前:デフォルトの名無しさん mailto:sage [2019/05/08(水) 17:58:41.57 ID:jUoRAJVn.net] >>506 ないですね
508 名前:デフォルトの名無しさん [2019/05/21(火) 22:53:35.55 ID:5dr0Nkwr.net] >>506 ありますよ
509 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 01:15:47.82 ID:zrih+ccQ.net] Windows 上で g++ & qt ってどのくらいメジャーなのかな とりあえず「オレオレコード」書くなら C++11 とかかいな GCの仕組みとか全く知らんけど 「適切なC++11の教科書などない!」という話もあるけど Python 使え?
510 名前:デフォルトの名無しさん [2019/05/22(水) 11:00:03.94 ID:1OSMRbFi.net] C++11 なんてオワコンだからやめとけ
511 名前:デフォルトの名無しさん mailto:sage [2019/05/22(水) 17:17:32.49 ID:qHBIaGAD.net] >>509 話もあるけどね
512 名前:デフォルトの名無しさん mailto:sage [2019/06/03(月) 06:28:27.40 ID:+7d3cfJz.net] ふう😎
513 名前:デフォルトの名無しさん [2019/06/13(木) 16:59:54.42 ID:/0Hvd4dT.net] cygwin に apt-cyg find R したら Rがあった(長らくこれはなかった) 感動的だ ようやくWindowsの上でもスタート地点に立った
514 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 19:08:21.05 ID:t/TgILxI.net] いまから C++ (and qt) をゼロから習得するなら 基本的には C++17 レベル??? https://cpprefjp.github.io/implementation-status.html みたかんじ 殆ど実装されてるっぽい???
515 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 22:37:36.09 ID:tYlssfYj.net] ものすごい今さらな質問なんだが・・・ Cygwin て何て発音するんだ?サイウイン? まわりに使ってるやつ1人もいないから実際に発音することがなくて困る
516 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 22:43:02.73 ID:C6mR/1ai.net] >>515 ttps://ja.wikipedia.org/wiki/Cygwin
517 名前:デフォルトの名無しさん mailto:sage [2019/06/13(木) 23:07:55.81 ID:rmSOkmKf.net] まじかよ・・人前で発音してなくてよかった
518 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 00:04:54.99 ID:7DXJVUad.net] cygnusはキグナスだった? mingwがむしろ困るよな
519 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 11:01:55.94 ID:YE54Q2cv.net] みんじーだぶる
520 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 11:06:24.98 ID:LY52/qBF.net] みんぐうじゃないのか
521 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 12:20:34.75 ID:5t0rLbyA.net] cygnusは英語では、「シグナス」です。 むかし、Cygnusと云う商標で、「キグナス石油」という会社が あったので、Cygnusを英語読みで[シグナス」ということを 知らないで、、「キグナス」と読んだりするみたいです。 ちょっと、きになったら、『英和辞典」を引いてみるとよいでしょう。
522 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 12:26:57.67 ID:YE54Q2cv.net] ジョアンとフアンとジョンとジャンと… カルロスとチャールズとシャルルと… ジョージとホルヘとゲオルクと…
523 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 12:28:33.37 ID:7fHAKBFE.net] >>521 英語しかできないってこと?
524 名前:デフォルトの名無しさん [2019/06/14(金) 12:47:10.03 ID:bpAwmG5b.net] ペーターピーターピョートル シーメンスジーメンス ジャーマンゲルマンドイツドイチュ
525 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 19:09:25.40 ID:YE54Q2cv.net] 英語読みにこだわるなら Linux は「らいなくす」か
526 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 23:28:44.92 ID:5t0rLbyA.net] フランス語は cygne で、cygnusとは違います。 ラテン語は、英語と同じ cygnus です。
527 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 00:44:39.57 ID:Dx2Qxwyp.net] >>521 https://ja.forvo.com/word/cygnus/#la こうか
528 名前:デフォルトの名無しさん [2019/06/15(土) 11:12:22.87 ID:Z5/LYv7k.net] Cognac Tough Lamborghini を思い出す
529 名前:デフォルトの名無しさん mailto:sage [2019/06/20(木) 22:49:09.67 ID:saP3r1IF.net] クンタッシ
530 名前:デフォルトの名無しさん [2019/06/22(土) 19:12:03.45 ID:UYyu+IU/.net] >>528 ぶぁーか
531 名前:デフォルトの名無しさん [2019/06/23(日) 05:49:44.99 ID:g5igmDJr.net] MinGW更新が滞っています
532 名前:デフォルトの名無しさん mailto:sage [2019/06/24(月) 05:27:39.62 ID:bdPLxrDs.net] >>531 MinGW-W64 project のやつは滞ってるけど、 MSYS2 project のやつ(pacmanで入れるやつ)は滞ってないよ(9.1.0)。
533 名前:デフォルトの名無しさん mailto:sage [2019/06/24(月) 12:32:30.26 ID:INmKbVms.net] msys2もWSL2で役目終了かな
534 名前:デフォルトの名無しさん mailto:sage [2019/06/24(月) 16:47:30.43 ID:Qf6r6oPW.net] そして焼け野原
535 名前:デフォルトの名無しさん [2019/06/25(火) 20:17:15.80 ID:Cgc4J/db.net] >>534 一言余計なんだよカス
536 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 20:43:23.33 ID:mNuvBnC/.net] 効いてるw
537 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 21:35:27.64 ID:0CG+TeYQ.net] https://gcc-mcf.lhmouse.com/?C=M&O=D ここちゃんとチェックしてるか?9.1.1まで出てるぞ
538 名前:デフォルトの名無しさん mailto:sage [2019/06/26(水) 01:21:30.62 ID:uaiF8BI0.net] >>537 普通チェックしないし使わない
539 名前:デフォルトの名無しさん mailto:sage [2019/07/02(火) 16:03:24.73 ID:+WA62fsw.net] >>538 効いてるw
540 名前:デフォルトの名無しさん mailto:sage [2019/08/05(月) 11:53:08.29 ID:r6BvniMN.net] clang で良いんじゃないの? Google もGCC からclang に切り替えたし。
541 名前:デフォルトの名無しさん mailto:sage [2019/08/13(火) 11:23:23.39 ID:5isOnGEb.net] gcc-9.2
542 名前:デフォルトの名無しさん mailto:sage [2019/08/14(水) 15:59:31.43 ID:cSlSK8mm.net] > 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++ あとこんな警告が大量に出るようになって邪魔。
543 名前:デフォルトの名無しさん mailto:sage [2019/08/20(火) 15:18:40.97 ID:4DZMx7ke.net] MinGWで作ったバイナリ、コマンドプロンプトで実行するとすごい遅い 一回実行するとキャッシュでもされるのかそれ以降の実行はわりと速い ひどいときはプロセス間通信を使ってるバイナリで実行から終了まで7秒とかかかったりする Gitとかはコマンドプロンプトで実行してもすぐに実行されるんだけど、何が違うんだろう ウィルスソフトのリアルタイムスキャンに時間がかかってるのかと思って、問題のバイナリの除外設定とかしてみたけど、効果なかった 問題のバイナリはプロセス間通信を使ってるから、このプロセス間通信がボトルネックになってるのかなぁ WindowsのCreateProcessはLinuxのforkに比べるとめちゃくちゃ遅いらしいし
544 名前:デフォルトの名無しさん [2019/08/20(火) 15:20:15.93 ID:zlJnj2O9.net] cmd からじゃなくて mintty から実行しても遅いか?
545 名前:デフォルトの名無しさん mailto:sage [2019/08/20(火) 15:35:04.29 ID:4DZMx7ke.net] >>544 試してないけど試してみます
546 名前:デフォルトの名無しさん mailto:sage [2019/08/20(火) 15:50:21.30 ID:KG2FXNu0.net] mkpasswdとかmkgroupとかやっとかないとあかんのじゃなかったっけ
547 名前:デフォルトの名無しさん mailto:sage [2019/08/20(火) 17:27:25.95 ID:4DZMx7ke.net] >>544 mintty, MSYSでは動作が速かったです cmd特有の「初回起動だけ遅い」というのはありませんでした powershellでも試してみます >>546 cmdでも実行は出来てるんですが、なんか初回実行だけ遅いんです 初回以降は速くて、しばらく放置してまた実行すると遅くなってます
548 名前:デフォルトの名無しさん [2019/08/20(火) 17:37:17.04 ID:zlJnj2O9.net] キャッシュしてるとしたら socks の dll かな
549 名前:デフォルトの名無しさん mailto:sage [2019/08/20(火) 17:51:30.05 ID:ITb7FkqQ.net] ログ吐かせてどこにネックがあるのかみてみないと
550 名前:デフォルトの名無しさん mailto:sage [2019/08/21(水) 17:19:04.83 ID:iGK2Kp/R.net] 雑な事いえばminttyやMSYSを起動すると、起動した時点でMinGWのdllが 読み込まれるのでコマンド起動遅くならないのでは
551 名前:デフォルトの名無しさん [2019/08/21(水) 17:33:03.25 ID:ur92HW83.net] それならそれで解決とするか
552 名前:デフォルトの名無しさん mailto:sage [2019/08/21(水) 23:34:12.77 ID:L4bPYRCx.net] dllの読み込みに時間かかってるってことですか なるほど ということはMinGWでコンパイルしたバイナリ全般に現れる問題っぽいですね
553 名前:デフォルトの名無しさん mailto:sage [2019/08/22(木) 04:38:34.97 ID:Rc8J28Ob.net] コマンドプロンプトで実行するようなプログラムは Windowsネイティブアプリにしろよw
554 名前:デフォルトの名無しさん mailto:sage [2019/08/22(木) 05:37:28.68 ID:rzNCVH2V.net] MinGWで作ったら余程変態技を使わない限りWindowsネイティブアプリ
555 名前:デフォルトの名無しさん mailto:sage [2019/08/22(木) 06:10:29.02 ID:dqAPG5D5.net] >>553 最初はLinuxで開発してて、それからWindows用に移植したんですよ で、MinGWが手軽だったからMinGW使ってたんだけど
556 名前:デフォルトの名無しさん [2019/08/22(木) 10:15:45.06 ID:xQsiKIbM.net] そんな用途には tdmgcc64 おすすめ
557 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 03:35:27.20 ID:jZ19Qjup.net] ググっても一件しか出なかった gccなのはわかる
558 名前:デフォルトの名無しさん [2019/08/23(金) 15:09:01.75 ID:Zx6EO+xk.net] これやろ https://ja.wikipedia.org/wiki/TDM-GCC tdm-gcc.tdragon.net/download
559 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 18:17:23.56 ID:jZ19Qjup.net] >>558 おお、ありがとう ダウンロードしてみる
560 名前:デフォルトの名無しさん [2019/08/23(金) 18:24:15.33 ID:aZS2aOxa.net] 今はこっちが良くね https://text.baldanders.info/remark/2018/03/mingw-w64/
561 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 06:55:34.51 ID:Glqz8i+r.net] TDM-GCCでビルドしたら遅いの無くなったかもしれない(*´Д`)!!! >>556 >>558 もう少し様子見るけど、まじでありがとう >>560 これはMinGWとは違うの?
562 名前:デフォルトの名無しさん [2019/08/24(土) 09:36:31.35 ID:u2q8uNB0.net] staticになってるだけというオチだったらわろす
563 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 14:59:08.43 ID:H4K4vAej.net] ただ単に -static -O3 -mtune=skylake を指定していないだけ じゃねえだろうな?
564 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 17:29:38.98 ID:Glqz8i+r.net] staticオプションは特に指定しませんが…… dllの読み込みが原因だとしたらstaticにすれば解決という話ですか そういう発想はなかった >>563 --mtune=skylakeってなんですか?
565 名前:デフォルトの名無しさん [2019/08/24(土) 17:48:35.57 ID:u2q8uNB0.net] DLLよりstaticが速いとか都市伝説
566 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 16:54:37.16 ID:z6AAmiat.net] >>564 -O3はコードの最適化を3レベル(あるいはタイプ3)で行う 実際に何を行っているかはコンパイランの説明を読まないと分からない -mtune=skylakeはコードをIntel CPUのSkyLakeアーキテクチャで最適な形にする どちらも記述したコードを実行形式にするときに最適化を行うオプションなので、 非常に大きなコードを書いた際や似たような処理を繰り返すコードを書いている際に 指定すると早くなる事もある(ライブラリに含まれるコードは最適化されない) >>565 都市伝説ってこともない 関数A、B、C、Dが含まれるライブラリlibhogeが存在する場合、自分のプログラムで 関数BとDだけを使っていると、ダイナミックリンクの場合自分のプログラムの実行 コードに加えてすべての関数が含まれるlibhoge.dll全体を読み込む必要がある スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した 関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが 早くなる可能性は高くなる ただし、実際問題としてはdllを一回読み込めばキャッシュからなくならない限り読み込む 必要がない+Windowsのプログラミングで使用するライブラリで基本的なものは通常 システムを起動した時点でキャッシュされていることに加えて、Windowsでプログラムを 動かすために必要な関数郡はかなりの量になる事が多いのでスタティックにリンクすると すでにキャッシュされている関数郡を使わずに、必要な関数郡を含んだ大きなコードを 読み込む必要があるのでスタティックリンクの方が起動が遅くなるって本末転倒な事態が 発生することもある MinGWの場合にはWindows一般では使わないライブラリを使用するので1回目の 起動時には必要なdllを読み込むよりは、必要な関数のみをリンクしたスタティックな 状態の方が早い場合があるかもってこと
567 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 19:02:38.36 ID:7s5pz20M.net] もっと短く
568 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 23:51:01.48 ID:V1f8d4H1.net] >>566 ということは--static -O3 -mtune=skylakeでビルドすれば起動が早くなるかもということですか 時間があるときに試したいと思いますm(_ _)m
569 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 01:28:47.93 ID:K2zp8I6+.net] やっぱり名前解決の問題が大きいんすよ ライブラリの読み込みだけでは説明できない
570 名前:デフォルトの名無しさん [2019/08/26(月) 14:11:24.03 ID:T0vtMl8v.net] >スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した >関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが これ関数単位でソース分けてあって 一関数が一objになってる場合だけだよな
571 名前:デフォルトの名無しさん [2019/08/26(月) 14:11:24.09 ID:T0vtMl8v.net] >スタックリンクの場合には自分のプログラムの実行コードに加えてlibhoge.aから抽出した >関数BとDのコードを読み込むだけなので関数AとCのコードを読み込まない分ロードが これ関数単位でソース分けてあって 一関数が一objになってる場合だけだよな
572 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 17:43:39.53 ID:eYWa871J.net] dll読み込みってそんなに重いかな? なんか別のところで時間がかかっていそうな感じ。
573 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 21:44:29.54 ID:CEMf0Y7L.net] >>570-571 MinGWの場合はそうかな。確かMinGWでは--gc-sectionsが効かなかったかと。 LTOで未使用関数が除去されるかもしれないけどバグが多いので試してない。
574 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 05:30:30.81 ID:FSIINwco.net] >>568 でビルドしてみました 様子見します -O3は、前にビルドしたときにプログラムがうまく動作しないことがあったんですよね -O0にすると正常に動作したんですけど
575 名前:デフォルトの名無しさん [2019/08/27(火) 09:41:49.02 ID:NZJyfwBK.net] -O3に完璧を求める方が可笑しい
576 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 11:08:45.95 ID:NDEdv6OD.net] そこで-Ofastですよ
577 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 12:32:02.21 ID:j4wzaSFP.net] -O3と-O0で挙動が違うのは、不定の値を使っているとか、 未規定の動作に依存しているとか、そういう系だぞ まれにコンパイラのバグということもあるが大抵てめーが悪い