[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/12 05:38 / Filesize : 230 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Cygwin + MinGW + GCC 相談室 Part 8



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で挙動が違うのは、不定の値を使っているとか、
未規定の動作に依存しているとか、そういう系だぞ

まれにコンパイラのバグということもあるが大抵てめーが悪い






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<230KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef