X



Cygwin + MinGW + GCC 相談室 Part 8
レス数が900を超えています。1000を超えると表示できなくなるよ。
0680デフォルトの名無しさん
垢版 |
2020/04/27(月) 19:55:00.34ID:AD9YXzU7
>>679
それはコマンドプロンプト自体の問題で、こいつは古いアプリなのでUNCパスに対応していない
UNCパス(\\ではじまるネットワークフォルダのパス)を扱えるツールを使う必要がある
WSLのディレクトリに対応してるかというよりも
ネットワークフォルダに対応しているかという話に近い

PowerShellはUNCパスに対応しているからWSLのディレクトリにも入れる
コマンドプロンプトから実行するコマンドもUNCパスに対応していれば参照できる
またネットワークフォルダはドライブに割り当てることが出来るので
ドライブに割り当てればコマンドコマンドからWSLのディレクトリに入ることも出来る
0681デフォルトの名無しさん
垢版 |
2020/04/27(月) 19:56:20.68ID:AD9YXzU7
ちなみにcdの代わりにpushdを使えば
コマンドコマンドからUNCパスに移動できる
一時的にドライブを割り当てているだけだが
0683デフォルトの名無しさん
垢版 |
2020/04/27(月) 23:26:27.00ID:hGgbh3Gh
windowsのSSHサーバ立ち上げてwslをシェルにできるのは便利
PowerShell極めてるひとなら不要かもしれんけどね
0685デフォルトの名無しさん
垢版 |
2020/04/28(火) 10:52:09.80ID:zAZN/f3s
マジレスするとmsys使ってて問題無ければwsl要らない
0686デフォルトの名無しさん
垢版 |
2020/04/28(火) 17:09:56.15ID:7TaGv6sC
>>684
共存できる。msys2はただのアプリでしかないから

>>685
msysの問題はUbuntuと同じようなメンテナンス力を期待できないところかな
WSLは本物のUbuntuのディストリのパッケージが使われてるので
Ubuntuとほぼ同等にメンテナンスされてると思っていい

だけどmsysは(Ubuntuと比べたら小さな)開発者が対応してるパッケージしか使えない
しかもLinuxと完全互換じゃないからmsysでソースコードからコンパイルしようとしても
動くとは限らない。WSLを使えばそういった煩わしさから開放される。

msysはWSLを入れてない人のためのWindows用アプリを作るためのものだよ
開発者がLinuxの代わりとして使うものじゃない
0688デフォルトの名無しさん
垢版 |
2020/04/28(火) 17:30:05.30ID:7TaGv6sC
>>687
シンボリックリンクでホームディレクトリ以下から
アクセスしやすくするのがおすすめ
色々と混ざらないし複数のディストリでも共有できる
0689デフォルトの名無しさん
垢版 |
2020/04/28(火) 18:17:52.10ID:eCWBo+Hl
色々と混ぜたいからホームディレクトリを一緒にするんだろ
そうじゃなければ最初から分けとけばいいだけの話だ
0692デフォルトの名無しさん
垢版 |
2020/04/29(水) 09:35:11.34ID:TuLha3Ht
混ぜるな危険
0694デフォルトの名無しさん
垢版 |
2020/04/29(水) 10:27:50.31ID:Cpi+Il5+
早くても、8月以降に、20.04.1 とか修正版が出た後。
1年後でも良い

Ruby のirb では、MSYS2/MinGW で、日本語入力でバグるから、
WSL の方が、互換性が高い

日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv で、
色々なバージョンも入れられる

VSCode も、Remote WSL 拡張機能で、Linux 側へアクセスできる
0695デフォルトの名無しさん
垢版 |
2020/04/29(水) 10:38:59.10ID:Cpi+Il5+
>>679
コマンドプロンプト・PowerShell で、wsl と入力すれば、WSLが起動する

最も良いのは、Linux 側のフォルダのショートカットをデスクトップにでも作って、
そのフォルダの右クリックメニューから、VSCode を起動する

これで、WSLを起動して、Linux側のプロジェクトを開ける
0696デフォルトの名無しさん
垢版 |
2020/04/29(水) 11:51:03.18ID:Jemg3aCN
wsl, opensuse leapにmingw64入れてクロスビルドしてる。
configure作って--hostでmingw指定すれば楽勝すぎて屁が出そう
0700デフォルトの名無しさん
垢版 |
2020/05/02(土) 23:21:47.63ID:nkPqW+JC
MinGWっていうかGitBash環境なんだけど
WSL1より2倍ぐらいシェルスクリプトが遅いんだよね
どこが原因かわからんけどこんなもん?
なにか大きな差がでるポイントでもあるんかね?
0701デフォルトの名無しさん
垢版 |
2020/05/03(日) 03:37:53.54ID:HUz+EFHq
WSL1 (bash 4.4.20) だと
$ time bash -c 'i=0; while [ $i -lt 1000000 ]; do : $((i+=1)); done'
real 0m6.317s
user 0m6.313s
sys 0m0.000s

MinGW64 (bash 4.4.23) だと
$ time bash -c 'i=0; while [ $i -lt 1000000 ]; do : $((i+=1)); done'
real 0m15.053s
user 0m15.000s
sys 0m0.030s

Cygwin (bash 4.4.12) だと
$ time bash -c 'i=0; while [ $i -lt 1000000 ]; do : $((i+=1)); done'
real 0m13.897s
user 0m13.858s
sys 0m0.046s

うーん、こんな単純なコードで2倍の差がでてるから
もうこれはどうしようもないのか?
0702デフォルトの名無しさん
垢版 |
2020/05/03(日) 04:04:18.44ID:HUz+EFHq
比較とか計算が遅いのかと思ってやってみたけど
この比率は変わらない

WSL1
$ time bash -c 'for i in $(seq 1000000); do :; done'
real 0m2.159s
user 0m1.828s
sys 0m0.359s

Cygwin
$ time bash -c 'for i in $(seq 1000000); do :; done'
real 0m4.222s
user 0m3.889s
sys 0m0.341s

MinGW64
$ time bash -c 'for i in $(seq 1000000); do :; done'
real 0m4.821s
user 0m4.342s
sys 0m0.436s


WSL1 → Cygwin(2倍ぐらい遅い)→MinGW(さらに10%遅い)
こんな傾向がある。ファイルシステムは関係ないはず
やってるのはCPUの処理だけなはずなんだけどなぁ
0705デフォルトの名無しさん
垢版 |
2020/05/03(日) 05:24:47.68ID:HUz+EFHq
radeonの話は画面に出力が絡むなら
関係ありそうな気もするけど、それ以外でも発生するんだろうかね
あとHOMEは MinGWは /c/Users/myname
Cygwinは/home/mynameだ
0706デフォルトの名無しさん
垢版 |
2020/05/03(日) 05:26:40.40ID:HUz+EFHq
よく見ると大きな差があるのはuser空間だから
コンパイルオプションが違ってるとかなのかな?
0708デフォルトの名無しさん
垢版 |
2020/05/03(日) 06:00:40.65ID:HUz+EFHq
>>707
つってもわずか一回だからなぁ。やってみてもいいけど

WSL1
$ time bash -c 'for i in {1..1000000}; do :; done'
real 0m1.710s
user 0m1.547s
sys 0m0.156s

Cygwin
$ time bash -c 'for i in {1..1000000}; do :; done'
real 0m4.854s
user 0m4.811s
sys 0m0.108s

MinGW64
$ time bash -c 'for i in {1..1000000}; do :; done'
real 0m4.934s
user 0m4.843s
sys 0m0.109s

あとあれから少しわかったのはMinGWは何回か繰り返せば
Cygwinに迫るのでファイル読み込み?とかも少し関連してるんだと思う
が2倍以上かかることに変わりはない

cygwin.dll?とかが遅いのかもな。MinGWでも使ってるんじゃなかったっけ?
0709デフォルトの名無しさん
垢版 |
2020/05/03(日) 07:25:18.35ID:69WKUEPM
>>708
を、WSL1, Ubuntu 18.04 で、3回やった。
8GB メモリ、CPU-i3・エコモード

real 0m4.680s
user 0m4.234s
sys 0m0.453s
0712デフォルトの名無しさん
垢版 |
2020/05/03(日) 21:39:24.17ID:ADBK+oPb
cygwinはforkがヘボいから遅い
MinGWといいつつmsysのbashやろ
これもforkがcygwinゆずりだから遅い。
wslもfork遅いと思うけど。
virtual boxにwindowsファイルを共有させたものの方が実は速い。
純粋にwindowsとLinuxの環境を同居させたきゃ仮想PC
Linuxでwindows binaryをクロスビルド、テストまでしたけりゃwsl
0714デフォルトの名無しさん
垢版 |
2020/05/03(日) 23:40:13.01ID:sXSeyux8
>>712
forkが遅いのはわかってるけど、
このコードでforkなんて大量にはしないだろ?

time bash -c 'for i in {1..1000000}; do :; done'
0715デフォルトの名無しさん
垢版 |
2020/05/04(月) 02:27:10.75ID:R/PLl+Gn
元々、bash が、ループ向きではないから、dash などを使う

for は遅いから、while などを使う。
実行時間中のほとんどが、フォークの時間

ループは、awk, perl, ruby などでは、0.1 秒も掛からない。
単一プロセス中の処理だから
0716デフォルトの名無しさん
垢版 |
2020/05/04(月) 03:06:12.15ID:szliIti6
あ、dashの結果書くの忘れてた。dashは速いから数を10倍にしてる
傾向は一緒。ただのループなのに2倍ぐらいの差が出てしまう

WSL1
$ time dash -c 'for i in $(seq 10000000); do :; done'
real 0m4.480s
user 0m2.875s
sys 0m2.047s

Cygwin
$ time dash -c 'for i in $(seq 10000000); do :; done'
real 0m7.598s
user 0m6.531s
sys 0m1.296s

MinGW64
$ time dash -c 'for i in $(seq 10000000); do :; done'
real 0m7.905s
user 0m6.905s
sys 0m1.155s
0718デフォルトの名無しさん
垢版 |
2020/05/04(月) 03:16:08.18ID:szliIti6
awkは更に速いから、更に10倍にしてる。これなら理解できるな。
CygwinとMinGW64がWSL1より少し遅いのは起動時のパフォーマンスの差だろう
ってことはシェルスクリプトだと、なにか遅くなる処理をやってるってことか
整数型じゃないとか?

WSL1
$ time awk 'BEGIN{i=0;for(i=0;i<100000000;i++);}'
real 0m4.121s
user 0m4.109s
sys 0m0.016s

Cygwin
time awk 'BEGIN{i=0;for(i=0;i<100000000;i++);}'
real 0m4.978s
user 0m4.875s
sys 0m0.031s

MinGW64
$ time awk 'BEGIN{i=0;for(i=0;i<100000000;i++);}'
real 0m4.586s
user 0m4.562s
sys 0m0.015s
0719715
垢版 |
2020/05/04(月) 04:54:04.28ID:R/PLl+Gn
for がコマンドだから、フォークされるのだろ。
だから、シェルスクリプトでは、while を使えと言われる

bash よりも、dash を使う。
それ以上は、awk, perl, ruby
0720デフォルトの名無しさん
垢版 |
2020/05/04(月) 05:14:01.45ID:szliIti6
whileを使うと遅いからforに変えたのですが?
forを使った>>716とループ回数は同じ

WSL1
$ time dash -c 'for i in $(seq 10000000); do :; done'
real 0m4.480s
user 0m2.875s
sys 0m2.047s

$ time dash -c 'i=0; while [ $i -lt 10000000 ]; do i=$((i+1)); done'
real 0m15.811s
user 0m15.766s
sys 0m0.016s

Cygwin
$ time dash -c 'for i in $(seq 10000000); do :; done'
real 0m7.598s
user 0m6.531s
sys 0m1.296s

$ time dash -c 'i=0; while [ $i -lt 10000000 ]; do i=$((i+1)); done'
real 0m26.173s
user 0m26.109s
sys 0m0.031s


MinGWはCygwinと大差ないので省略
0721715
垢版 |
2020/05/04(月) 07:28:52.02ID:R/PLl+Gn
8年前のシェルスクリプトの本には、
10万行の処理で、

for : 9分
while : 5秒
awk/perl : 0.1秒
0722715
垢版 |
2020/05/04(月) 07:33:20.66ID:R/PLl+Gn
$((i+1)) という部分が、コマンドだから遅いのだろう

ほとんどが、そのフォーク時間
0723デフォルトの名無しさん
垢版 |
2020/05/04(月) 07:37:26.49ID:iIYyf/rd
せいぜいbashのサブコマンドで、forkしとらん気がする
ただマルチスレッドは使ってるかも知れんし、その際のメモリ操作はなんか性能の問題があった気はする
0725デフォルトの名無しさん
垢版 |
2020/05/04(月) 18:39:29.61ID:EvcVp/Zr
$(())内でiを更新できることから分かるようにforkしていないし、少なくともbashとdashはシングルスレッド

linux上で
ltrace -f bash -c 'for i in {1..1000000}; do :; done'
したら、mallocを何度も呼んでいるようだから、ヒープ操作関係が遅い可能性はある
実際、linux上でもmallocの実装をglibcのからjemallocに切り替えたら上のループが2割近く速くなった
0727デフォルトの名無しさん
垢版 |
2020/05/06(水) 19:33:37.07ID:DK8FW5YB
以下のパッケージ、入れようとすると対象が見つからないと出るんだけど・・・

dlfcn
libpng
tools-git
jq
clang
0729デフォルトの名無しさん
垢版 |
2020/05/06(水) 22:45:14.75ID:UqyV1t7H
>>727
ないんだろ?Cygwinは独自のディストリ
Windowsに移植できたもの、自分が関心があるパッケージしか
登録されていない
0730デフォルトの名無しさん
垢版 |
2020/05/11(月) 23:46:54.34ID:77t5bXxM
GCC 10.1まだですか
0735デフォルトの名無しさん
垢版 |
2020/05/14(木) 10:05:25.88ID:tvxDWcUo
きばれ
tdm-gcc (64)
0738デフォルトの名無しさん
垢版 |
2020/05/22(金) 14:26:50.74ID:DztlkuPK
msys2をサイレントインストールするにはどうしたら良いですか?
0741デフォルトの名無しさん
垢版 |
2020/05/29(金) 02:44:46.36ID:o1TI0Bdi
そろそろ更新してくれ
0742デフォルトの名無しさん
垢版 |
2020/06/23(火) 03:13:01.66ID:1wsAa41I
新版まだですか〜
0747デフォルトの名無しさん
垢版 |
2020/06/23(火) 12:40:28.65ID:AJ4z3x9t
mingwは「Git For Windows」のバンドルモジュールとしてしぶとく生き残る。
cygwinはdll依存をなくしてmingwに統合されていくでしょ。
0749デフォルトの名無しさん
垢版 |
2020/06/23(火) 13:44:06.97ID:oj2a+YQY
gcc -staticがデフォじゃないのがよくわからん
じゃあMinGWの立ち位置って何よって
0754◆QZaw55cn4c
垢版 |
2020/06/23(火) 18:42:37.39ID:sbDHiXI+
MSVC に依存したくないので、mingw をお手軽に維持できる cygwin 環境はありがたいですね…
0755蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/23(火) 18:50:53.69ID:5yVlyLrR
WineHQとかRosBEとかはLinuxでも使えるクロスコンパイラを用意している。まあ、やる人は少ないが。
0757蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/23(火) 19:25:00.34ID:5yVlyLrR
XPでも動くプログラムが作れるってのが味噌。MSYS2はVista+に移行した。
0759デフォルトの名無しさん
垢版 |
2020/06/23(火) 22:14:53.82ID:MHuIwrXa
移行したと言うか、互換性の点でbashの方が良かったが
bashのライセンスがGPL3に変わって受け入れられなかったから
仕方なくzshにしたってだけだろ
古いbash 3系よりは、zshの方がまだましという消極的な理由
0760デフォルトの名無しさん
垢版 |
2020/06/24(水) 11:23:52.65ID:6+kkBVmV
>>752
>>754
tdmgcc で cygwin から解放されました
ほんとうにありがとうございました
0761デフォルトの名無しさん
垢版 |
2020/07/23(木) 17:26:38.39ID:VHveRWmf
更新まだですか
0762デフォルトの名無しさん
垢版 |
2020/07/25(土) 17:28:58.82ID:zqROUOzo
tdmgcc は wikipedia では開発が止まった事になってるな。
0763デフォルトの名無しさん
垢版 |
2020/07/25(土) 19:44:16.83ID:e/b0FSz8
フェラチオザウルスにパクってされちゃうよ
0765デフォルトの名無しさん
垢版 |
2020/08/02(日) 17:49:35.08ID:5nHbYcRj
GCC10.2が出ましたが更新まだですか
0769デフォルトの名無しさん
垢版 |
2020/09/06(日) 05:21:00.21ID:6+AOMFkl
どこ。
0772デフォルトの名無しさん
垢版 |
2020/09/12(土) 15:31:34.91ID:cDX1Q2rT
どこもろ
0773デフォルトの名無しさん
垢版 |
2020/09/13(日) 02:49:17.38ID:H5kZw8iZ
どこやねん
0783デフォルトの名無しさん
垢版 |
2020/09/24(木) 04:03:25.38ID:Qc2kqk0D
隅から隅まで探さないといけないやつを検索すらできないのかっていうのはなんか違わない?????
僕そもそもなぜかCygwinの話だと思ってたからそれ以前の問題なんですけど
0784デフォルトの名無しさん
垢版 |
2020/09/24(木) 08:19:03.36ID:hsn7nUMR
こまけーことは気にせずにmsys2使っときゃええんやで
cygwinはなあ…gccの更新いつも遅いから
0786デフォルトの名無しさん
垢版 |
2020/09/25(金) 05:05:33.50ID:xdrtZXMH
Git for Windows にバンドルされてるbash使えばいい。
ビルド環境はStrawberry Perlにバンドルされてるのを使えばいい。
0787デフォルトの名無しさん
垢版 |
2020/09/25(金) 10:53:31.32ID:4ovx1Tzj
git bash まじ重宝
0791デフォルトの名無しさん
垢版 |
2020/09/27(日) 17:39:43.97ID:RCK09O0u
ライブラリをストリップしたらあかんのではないかな
gccのオプションにexceptionのなんかがあった気がする
0794デフォルトの名無しさん
垢版 |
2020/09/28(月) 17:33:38.94ID:QxfbhGyV
Visual Studioに入ってるdumpbinに相当するコマンドある?
DLLのエクスポートテーブルを覗きたいんだけど
0795デフォルトの名無しさん
垢版 |
2020/09/28(月) 18:01:48.48ID:zjrobJ8x
digitalmars_com /ctg/implib.html
wiki_dlang_org /Win32_DLLs_in_D
www_kmonos_net /alang/d/dll.html
0797デフォルトの名無しさん
垢版 |
2020/10/16(金) 19:44:08.37ID:UdyDW7b6
オーイ
0800デフォルトの名無しさん
垢版 |
2020/11/09(月) 21:03:17.57ID:IuElySO5
fork: retry: resource temporarily unavailable とかでて直せない。
rebaseallとかやっても効果ないみたいだし
もうcygwin、msysのテストやめようかな
0801デフォルトの名無しさん
垢版 |
2020/11/10(火) 12:08:26.08ID:08CevRpc
おそらく D よりも需要無い
0803デフォルトの名無しさん
垢版 |
2020/12/15(火) 15:11:54.58ID:XwGFb1c9
MSYS2には、lscpuコマンドはないのかな?
CentOSなんかだとutil-linuxパッケージに入ってるけど、MSYS2のには入ってないもよう。。。
0806デフォルトの名無しさん
垢版 |
2020/12/15(火) 17:22:03.48ID:ME0vqtfe
MinGWって終わってるよな
0811デフォルトの名無しさん
垢版 |
2020/12/23(水) 09:37:51.13ID:vcwRrO0n
コロナもどんどん変異種がでてきとるしな
もう人類は無理だろ
さよなら人類
0812デフォルトの名無しさん
垢版 |
2021/01/17(日) 17:25:02.12ID:/QJK4AMk
マジで終わりそうでコロナ怖い
0817デフォルトの名無しさん
垢版 |
2021/01/30(土) 08:40:50.47ID:PJvUkb6d
g++ (Rev6, Built by MSYS2 project) 10.2.0
Microsoft Windows [Version 10.0.18363.1316]
なんだけど、filesystem::hard_link_countが1しか返さないのはギャグ?

Microsoft(R) C/C++ Optimizing Compiler Version 19.28.29336 for x86
ちな、こいつはちゃんと2以上も返す
0818デフォルトの名無しさん
垢版 |
2021/02/10(水) 11:13:22.11ID:fLW5nkpk
MSYS2でアップデートしたらmintty周りの設定が飛んだみたい
もうWSL2にしろってことか
0819デフォルトの名無しさん
垢版 |
2021/02/25(木) 09:27:22.73ID:opz1PtTZ
int a [100];
for_each(par,a,a+100,[](auto){while(true);});

g++ a.cpp -std=c++17 -O3 -mavx512f -mtune=znver2
a.exe

resmonで見るとどうもシングルスレッド
のようなんだが、なんで?
ちな、vsだとちゃんとマルチで動く
0823デフォルトの名無しさん
垢版 |
2021/02/26(金) 21:22:38.26ID:P5cIP6RT
mingwとMSYSの使い分けがいまだによく分からん

MSYSのdllを使うコマンドか否か、みたいなのは分からなくはないが、
それはユーザが意識せにゃならんのかいなと

結局、エクスプローラのsendtoとかで別にあるLinuxサーバに送って、
TeraTermでそのディレクトリでシェルを起動して、grepとかawkとかってやっちゃうわ
0826デフォルトの名無しさん
垢版 |
2021/02/27(土) 11:46:46.02ID:ZfwkxC6h
>>823
MSYSはmingwを含む擬似Linux環境で、mingwはLinux(POSIXではないのかな)のAPI
ゲートウェイみたいな感じ?
Linux上と同じ結果になる補償は無いけどMSYSのバイナリは直接Windowsで動作する
ものなので、MSYSの「usr/bin」にパス通しておけば直接コマンドプロンプトで使えるけど
ダメかな?
0827デフォルトの名無しさん
垢版 |
2021/02/27(土) 13:11:19.55ID:o2ETenih
だからmingwは開発ツールで、gccとその仲間達
MSYSはPOSIX的なコンピュータ操作環境
0830デフォルトの名無しさん
垢版 |
2021/03/05(金) 20:16:57.84ID:WyYIPIbI
g++コンパイルが遅すぎ何とかして
0836デフォルトの名無しさん
垢版 |
2021/03/08(月) 12:52:15.63ID:kBU69stw
MSYS2 はネイティブ実行ファイルを作る開発環境で、
POSIX 互換レイヤはあくまでも開発環境 (GNU ツールチェインなど) を動かすための最小限度というのがコンセプト。
POSIX 互換の実行環境として全体の面倒をみる Cygwin とはコンセプトが違う。
(Cygwin でも posix 互換レイヤを通さない実行ファイルを作れはするけど基礎理念の話ね。)

MSYS2 をインストールしたときに

・ MSYS2 MinGW 32-bit
・ MSYS2 MinGW 64-bit
・ MSYS2 MSYS

の三種類の環境が用意されるけど、
MSYS2 MSYS は開発環境の保守として使うだけに留めて
普段の開発には MSYS2 MinGW を使うのが標準的な運用形態。

そういう理念を実現するにあたって結果としては msys-2.0.dll に依存するかどうかの差
になって現れるのは確かだけど、そこだけで区別すると意味わからんよ。
0841デフォルトの名無しさん
垢版 |
2021/03/22(月) 22:53:03.50ID:ybVyFf4F
minttyでおすすめのフォント設定を教えてください
メニューで出て来る選択肢の中で一番マシなEPSON 太丸ゴシック体Bで、今は誤魔化してます

$ mintty.exe --version
mintty 3.4.4 (x86_64-pc-msys)
c 2013/2020 Andy Koppe / Thomas Wolff
License GPLv3+: GNU GPL version 3 or later
There is no warranty, to the extent permitted by law.

という環境で、git for windows同梱のものをWindows 8.1 64bit上で使っています
0843デフォルトの名無しさん
垢版 |
2021/03/22(月) 23:56:47.08ID:0vVHIzCT
Font=欧文フォント
FontChoice=CJK:1
Font1=日本語フォント
みたいにして欧文と日本語で別のフォントを指定してる
0844デフォルトの名無しさん
垢版 |
2021/03/23(火) 00:28:54.24ID:jgiu4i3h
御教示ありがとうございました
.minttyrcでのFontChoiceの設定ふくめ、色々調整してみます
0845デフォルトの名無しさん
垢版 |
2021/03/23(火) 01:01:17.32ID:G0iN/IIq
個人的には VL Gothic だが、そういうのは好みの幅が大きいから意見を貰ってもあまり参考にはならなさそう。
0846デフォルトの名無しさん
垢版 |
2021/03/30(火) 02:32:27.70ID:kQ+Iabze
このスレを読んでいるとMinGWよりもWSLの方が高速だという話ですが本当でしょうか?
WSLは何となく遅そうなイメージがありましたが、あれはWindowsと同じレベルで動いているのですか?
0847デフォルトの名無しさん
垢版 |
2021/03/30(火) 02:52:22.86ID:AJYcji2D
>>846
WSL はあくまでも Linux が動いている。
Windows よりも速い部分もあれば遅い部分もある。

ただ、 Windows の側とのやりとりが発生する部分、
特にファイルの入出力にボトルネックがあるというのはよく指摘される部分だと思う。
I./O が多く発生するような場合には WSL は遅くなりがち。

それと、 WSL を使うということは Windows と Linux の両方が起動して
コンピューターの中に共存している状態。
単純にメモリ消費量が多い。
充分な物理メモリが載ってないときついということはあるかも。

単純に速いとか遅いとかとは評価できないので特性を理解してっていう話だし、
具体的な条件が決まっているなら測定してみるのがてっとりばやいよ。
0849デフォルトの名無しさん
垢版 |
2021/03/30(火) 08:00:17.76ID:A9lvR3CA
wsl2はlinuxが動いてるんだけどwslはABI互換でwindowsでlinuxのバイナリを動かしてる感じ
速度はなんとも言えない
なおcygwinはとにかくIOが遅い
0850デフォルトの名無しさん
垢版 |
2021/03/30(火) 13:59:25.50ID:rMZjDh6L
やることにもよるけどWSLが十分に機敏に動作する環境jなら、Linuxが動いている
だけのWSLの方が処理は早いことが多いかも
ただWSLは所詮Linux部分はLinuxでWindowsとは無関係に動いているような構造
なので、MinGWとかCygwinみたいにコマンドプロンプトとかでLinuxのコマンド使い
たいみたいなことは出来ないし、まだCUI部分しか動作しないとかも考えると
LinuxはWSlじゃなくてVMWareみたいなエミュレータの方が良いかなって思う
0851デフォルトの名無しさん
垢版 |
2021/03/30(火) 14:08:20.87ID:58d8d/13
でもwslってwindowsのexe動くからね
無理矢理感あって俺は好きだよ
まあ正確な動作ということならwsl2だよね
0852デフォルトの名無しさん
垢版 |
2021/04/18(日) 16:38:27.97ID:ZM4jma5X
うひょっ
0853デフォルトの名無しさん
垢版 |
2021/04/23(金) 23:47:56.17ID:hyXGjiN1
がーすー
0854デフォルトの名無しさん
垢版 |
2021/04/24(土) 06:19:36.43ID:7Pw5CUw8
WSL2 は、Microsoft が作っている、Linux カーネルを使うから、
毎月カーネルが自動更新されるので便利

Cent と同じで、無料サポートみたいなもの

Amazon Linux みたいなもの。
Amazonが自動更新する。
ユーザーがOS を管理しない、サーバーレス
0855デフォルトの名無しさん
垢版 |
2021/04/24(土) 12:35:18.00ID:h25BJ37h
なんかMinGWのダウンロードサイト死んでるように見えるんだけどこれってなんか理由あんの?
0858デフォルトの名無しさん
垢版 |
2021/05/05(水) 11:10:13.65ID:vI4aKPxv
ffmpegのコンパイルが24時間経っても終わらない前は2時間ぐらいで終わったのに
MinGWでGWが終わる
0863デフォルトの名無しさん
垢版 |
2021/06/14(月) 20:26:46.66ID:8ZmqHLEu
使ってるといつの間にかC:\msys64\mingw64\libとC:\msys64\usr\lib
に同じパッケ入っているのが、モヤッとする
0867デフォルトの名無しさん
垢版 |
2021/06/28(月) 17:01:09.02ID:F/0kPYVA
>>866
-gオプション自体がない
ざっと見た感じ同じような機能をもつオプションも見当たらなかった
0868デフォルトの名無しさん
垢版 |
2021/06/28(月) 17:10:44.85ID:+000hd27
gdbでデバッグする場合は、
gdb を起動。
「run コマンドライン」でターゲットをデバッグ起動。
止まったところで「backtrace」する。
「quit」で終了。

これで呼び出し履歴が取得できるぞ。
0871デフォルトの名無しさん
垢版 |
2021/07/02(金) 11:07:38.54ID:wGfEJWRL
msys2のpacmanが6.0.0になってからパッケージデータベースの
シグネチャファイルをダウンロードしなくなったな。
~.db.sigってやつ。
0873デフォルトの名無しさん
垢版 |
2021/07/27(火) 14:04:59.30ID:cZjH0t2V
Makefileからcmd.exeでバッチファイル動かす方法ある?
cmd -c hogehoge.bat じゃうまくいかない
0876デフォルトの名無しさん
垢版 |
2021/07/27(火) 16:04:27.73ID:Dog97Bpd
-k
0877デフォルトの名無しさん
垢版 |
2021/07/27(火) 16:53:55.98ID:x4yitIm8
漏れは、デスクトップにショートカットを作っているけど、そのリンク先は、
コマンドプロンプトを起動して、Ruby スクリプトを実行する

C:\Windows\System32\cmd@.exe /k "ruby C:/Users/Owner/Documents/Ruby/a.rb"

注意。書き込めないので、cmd@.exeと、間に@を入れました
0878デフォルトの名無しさん
垢版 |
2021/07/31(土) 13:56:23.14ID:t9HNV453
>>875
こういう感じ
D:\learn\make\bat>make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i686-pc-msys

D:\learn\make\bat>type makefile
all:
cmd -c test.bat

D:\learn\make\bat>type test.bat
echo %date% %time%

D:\learn\make\bat>make && echo meow
cmd -c test.bat
Microsoft Windows [Version 10.0.19041.1110]
(c) Microsoft Corporation. All rights reserved.

D:\learn\make\bat>exit
meow

D:\learn\make\bat>

ただcmd.exeが起動するだけでtest.batが動いてない
そしてcmd.exeが常駐するようで、これを手動でexitすると
&& の右側が実行されてにゃあと鳴く
0880デフォルトの名無しさん
垢版 |
2021/07/31(土) 14:38:37.39ID:t9HNV453
バージョン古いせいかなと思ってやってみたけど
D:\learn\make\bat>make --version
GNU Make 4.3
Built for x86_64-pc-msys
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>;
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

D:\learn\make\bat>make && echo meow
cmd -c test.bat
Microsoft Windows [Version 10.0.19041.1110]
(c) Microsoft Corporation. All rights reserved.

D:\learn\make\bat>exit
meow

D:\learn\make\bat>where make
c:\msys64\usr\bin\make.exe

D:\learn\make\bat>

どうやら症状は変わらないみたい
0882デフォルトの名無しさん
垢版 |
2021/07/31(土) 14:51:31.56ID:t9HNV453
お、できた!
makeって/を「ルート」と読んでしまうから-にしてたんだけど、まさかこれだったとは・・・

dx >>881
0883デフォルトの名無しさん
垢版 |
2021/07/31(土) 16:57:37.31ID:LRA0vGhm
な?
馬鹿だっただろ?
0889ハノン ◆QZaw55cn4c
垢版 |
2021/11/17(水) 04:07:51.95ID:Kdlo9yNJ
kmtar ははいっていますか?taz が使えて便利だったんですが…
0891デフォルトの名無しさん
垢版 |
2021/12/07(火) 02:19:31.74ID:lQSQ5VR9
msys2やcygwinはもう終わりだけど、linux上でmingw-64はwslの波に乗っただろう
wsl/gcc+wsl/mingw-64+win/mingw-64の3重コンパイルでクロス開発が捗る
0893デフォルトの名無しさん
垢版 |
2021/12/07(火) 05:40:52.07ID:6IfYS1Dr
開発環境がlinuxで、windowsポート考えるならベストチョイスじゃないの
というかそれしかなくね?

linux版がwin版ほどメンテされてないというのは確かに事実で、両OSのmingwで吐かれるwinバイナリが同じという保証は乏しい
wsl使えるなら両方試して齟齬がないか検証すべきでは
0895デフォルトの名無しさん
垢版 |
2021/12/07(火) 06:18:19.41ID:6IfYS1Dr
開発マシンがliunxでもwineみたいなwinエミュレータ使えばwin機なくてもテストは可能かもしれないけど
wineってかなり挙動不審だしな…

windows/wsl環境+mingw for linuxなら本物のwindows環境でテストが完結できるだろ
0896デフォルトの名無しさん
垢版 |
2021/12/12(日) 04:03:15.14ID:W0kKCLn+
MinGWのGCCやClangてなんかコンパイル遅い気がするんだけど
WSL上のlinuxだとちょっと早かったりする?
0897デフォルトの名無しさん
垢版 |
2022/09/02(金) 17:31:47.01ID:xfIuEZrx
https://github.com/zhlynn/zsign
これをビルドするのにMSYS2を入れて、git clone git@github.com:witwall/mman-win32とやったのですが、Permission deniedとなってしまいcloneできません。

MSYS2はmsys2-x86_64-20220603で以下のコマンドでコアとパッケージシステムを更新、インストールしています
pacman -Syu
pacman -Su
pacman -S base-devel
pacman -S msys2-devel
pacman -S mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain
0901デフォルトの名無しさん
垢版 |
2022/09/04(日) 14:58:21.80ID:dy/AOC8s
>>899
過疎スレで誰も見てないなと思ってついやっちゃってごめんね
0903デフォルトの名無しさん
垢版 |
2022/09/04(日) 17:00:20.38ID:A8KVTWK8
>>900
このスレ以外のxxスレでも同じ質問しています
と全部のスレに描いて置くだけでもはるかにマシだと思うが
0905デフォルトの名無しさん
垢版 |
2022/09/05(月) 05:46:53.76ID:YC0Agv6v
>>903
どこのスレで聞く予定か決まってないとできないことだね
どっかのスレで聞いて有効回答が得られなかったから他をあたるときは無理
そこでもう諦めろという資格はあんたにはない

せっかく回答しても一言多い人はイヤミなやつと思われる
fjにもいたよ、やなやつ系の人
0908デフォルトの名無しさん
垢版 |
2022/09/05(月) 18:36:40.42ID:CjnDxYFq
> どこのスレで聞く予定か決まってないとできないことだね
> どっかのスレで聞いて有効回答が得られなかったから他をあたるときは無理
ここの「できない」「無理」を否定しているだけで、クロスじゃねえかどうかは関係ないよ。
0909デフォルトの名無しさん
垢版 |
2022/09/06(火) 06:32:16.53ID:8iFyZ+3k
自分が個人的に気に入らないってだけで
他人にああしろこうしろ言う図々しいやつ
0910デフォルトの名無しさん
垢版 |
2022/09/06(火) 09:15:35.13ID:9WMtC8UL
>>905
>どこのスレで聞く予定か決まってないとできないこと

ちなみにクロスもどこのスレで聞く予定か決まってないとできないことだぞ
0911デフォルトの名無しさん
垢版 |
2022/09/06(火) 10:05:14.92ID:8iFyZ+3k
マルチすんなというバグった骨董品に5chにクロスの機能がないのに無茶ぬかすなと指摘したんだよ
それへの返事()が>>903のような頓珍漢な内容だったんで
端っから破綻している話をおちょくっただけだが文句あんのか?
マニュアルトークばっかりで中身のないハリボテ野郎がw
0912デフォルトの名無しさん
垢版 |
2022/09/06(火) 12:50:52.33ID:QxRWO4Sk
>>902
./configure に、そんなオプションが存在しないのでは?

>No rule to make target 'config.mak'
「ffmpeg config.mak」などで検索すれば?
0913デフォルトの名無しさん
垢版 |
2022/09/06(火) 13:39:00.56ID:4u8//Iu5
opensslをビルドしたけど、これって成功してる?失敗してる?

make depend && make _build_sw
make[1]: Entering directory '/home/XXX/openssl'
make[1]: Leaving directory '/home/XXX/openssl'
make[1]: Entering directory '/home/XXX/openssl'
x86_64-w64-mingw32gcc -I. -Iinclude -Iapps/include -m64 -Wall -O3 -DL_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/local/ssl\"" -DENGINESDIR="\"/usr/local/lib64/engines-3\"" -DMODULESDIR="\"/usr/local/lib64/ossl-modules\"" -DUNICODE -D_UNICODE -DWIN32_LEAN_AND_MEAN -D_MT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o apps/lib/libapps-lib-app_libctx.obj apps/lib/app_libctx.c
/bin/sh: line 1: x86_64-w64-mingw32gcc: command not found
make[1]: *** [Makefile:2624: apps/lib/libapps-lib-app_libctx.obj] Error 127
make[1]: Leaving directory '/home/XXX/openssl'
make: *** [Makefile:1554: build_sw] Error 2
0914デフォルトの名無しさん
垢版 |
2022/09/06(火) 14:04:07.58ID:M4FVZY7o
失敗している

直前に実行したコマンドが成功したかどうかは
$ echo $?
で確認する
0 が表示されれば成功
それ以外は失敗
0915デフォルトの名無しさん
垢版 |
2022/09/06(火) 14:06:57.11ID:M4FVZY7o
>>913
ちなみに原因は x86_64-w64-mingw32gcc を起動したこと
正しくは x86_64-w64-mingw32-gcc
prefixに指定すべきは
x86_64-w64-mingw32 ではなく
x86_64-w64-mingw32- ということだと推測される
0916デフォルトの名無しさん
垢版 |
2022/09/06(火) 16:17:14.54ID:QxRWO4Sk
>/bin/sh: line 1: x86_64-w64-mingw32gcc: command not found
そういうコマンドが存在しないのじゃ?

コマンドが存在すれば、
which python3
/usr/bin/python3

which x86_64-w64-mingw32gcc
と入力してみれば?
0917デフォルトの名無しさん
垢版 |
2022/10/06(木) 15:32:07.23ID:Ov6T9Uu9
opensslをビルドしようとすると
cc1.exe: fatal error: md2test.c: No such file or directory
compilation terminated.
make[1]: *** [<builtin>: md2test.o] Error 1
make[1]: Leaving directory '/home/hoge/openssl/test'
make: *** [Makefile:296: build_tests] Error 1
と出る・・・
0918デフォルトの名無しさん
垢版 |
2022/10/06(木) 15:33:01.61ID:Ov6T9Uu9
コマンドは以下の通り
cd /root/openssl
git checkout OpenSSL_1_0_2s
./Configure --cross-compile-prefix=x86_64-w64-mingw32- mingw64
0922デフォルトの名無しさん
垢版 |
2022/10/07(金) 15:18:33.31ID:2fSodFyt
どうもcheckout時にtest/md2test.cがなくなったっぽい
0923デフォルトの名無しさん
垢版 |
2022/10/08(土) 19:39:30.38ID:qxTVurIe
>>920
ほぼ同じことをやったけど、やっぱ>>917と同じ事が起きた
OpenSSL_1_0_2sでもtest/md2test.cがないとコケる
0924デフォルトの名無しさん
垢版 |
2022/10/08(土) 21:46:27.37ID:xDu3MKAN
If you want to just get on with it, do:

$ ./config
$ make
$ make test
$ make install

とINSTALLにあるけど
0925デフォルトの名無しさん
垢版 |
2022/10/09(日) 12:19:38.59ID:Tz+TsrJC
実はこれをビルドしてるんです
https://github.com/zhlynn/zsign/issues/158

>>924を参考に
cd openssl
git checkout OpenSSL_1_0_2s
./Configure --cross-compile-prefix=x86_64-w64-mingw32- mingw64
make
make test
とやったんだけど、やはりmd2test.c絡みエラーが出た
0927デフォルトの名無しさん
垢版 |
2022/10/09(日) 18:48:11.24ID:Pj/q53xX
INSTALL.W64

You will need Perl.
You will need Microsoft Platform SDK


To build for Win64/x64:

> perl Configure VC-WIN64A --prefix=c:\some\openssl\dir
> ms\do_win64a
> nmake -f ms\ntdll.mak
> cd out32dll
> ..\ms\test

とあるね
0929デフォルトの名無しさん
垢版 |
2022/10/10(月) 17:42:08.13ID:uEke22m0
linuxでビルドしてみたけどopenssl-OpenSSL_1_0_2-stableだとlibssl.soができないから失敗してるぽい
openssl-OpenSSL_1_1_1の方はmake testまで通った

$ @bash ~/build/openssl-OpenSSL_1_0_2-stable
$ find "." -type f | perl -ne '/libssl/ and print'
./libssl.pc
./libssl.a


$ @bash ~/build/openssl-OpenSSL_1_1_1q
$ find "." -type f | perl -ne '/libssl/ and print'
./util/libssl.num
./linux/libssl.map
./linux/libssl.pc
./linux/libssl.a
./linux/libssl.so.1.1
0930デフォルトの名無しさん
垢版 |
2022/10/20(木) 23:31:35.93ID:+6WDZGK8
msys2と違ってtdm-gccはgccのバージョンが選べる代わりに
更新がむちゃ遅いやんけ〜
多分、人手が足りないんやなぁ
0931デフォルトの名無しさん
垢版 |
2022/10/24(月) 16:47:31.17ID:VKX4Fsrh
gcc 自体にはバージョンを混在させる仕組みはある。
クロスコンパイル用の環境を構築したいとかよくあることだし。
MSYS2 でもできなくはないけど、
今だと Docker を使うとかしたほうが簡単なのかなぁ……。
0932デフォルトの名無しさん
垢版 |
2023/03/14(火) 10:13:05.30ID:nRxoL4vn
MSYS2 MinGW64 の環境でSDL2を使ってゲームを作っています。
作ったゲームは将来的には配布する予定です。
それでDLLを動的リンクにするためにパッケージに含めたいと思っています。

今のところ起動に必要なDLLが
libgcc_s_seh-1.dll
libstdc++-6.dll
libwinpthread-1.dll
他、SDL2のdll
です。

C++とpthreadのdllは何となくわかるのですがlibgcc_s_seh-1というのは何でしょうか?
MinGW固有のgccのdllですか?
0936デフォルトの名無しさん
垢版 |
2023/03/28(火) 17:22:29.83ID:hvNFNzxE
tdm-gcc良いんだがな
0937デフォルトの名無しさん
垢版 |
2023/03/30(木) 10:23:19.95ID:B7uoZJXZ
>>930
Mingw-builds じゃダメなのか?
俺も最初は TDM-GCC 使ってたけど、何時までも更新されないから Mingw-builds の 12.2.0 に乗り換えた
俺が使っている wxWidgets 3.2.2.1 も普通にビルドできたし、若干コンパイル速度も上がった気がする
(気のせいレベルかもしれませんが・・・)
0940デフォルトの名無しさん
垢版 |
2023/09/12(火) 12:30:45.63ID:QOX8wfhQ
それよりゲロ重いのが
0942デフォルトの名無しさん
垢版 |
2023/09/28(木) 10:21:45.74ID:7+/lnWbq
そういやswingを低速言うてるけど
JavaFXのほうが初期化しめちゃめちゃ時間かかってもっさりしてるんだけど…
そしてmacでは未だにスレッド競合解決してない
swnigよりオワコンな気がする
0943デフォルトの名無しさん
垢版 |
2023/10/10(火) 09:18:07.78ID:vCJOXgr3
スレチ
0944デフォルトの名無しさん
垢版 |
2023/12/24(日) 13:46:07.33ID:zZdFC2zj
質問です。

・ OS は windows10 で、最近 MinGW-w64 を導入した。
・ 下記の test.cpp ファイルに対して g++ -m64 -o test5 test.cpp と実行。

test.cpp
#include <stdio.h>
#include <stdint.h>
int main(){ printf("%d %x %zu", sizeof(long), sizeof(long), sizeof(long)); getchar(); return 0; }

・ 出力された test5.exe を実行してみると、なぜか「4 4 4」と表示されてしまい、
 「8」が1個もない。64ビット環境では、sizeof(long) は「8」なのでは?

・ test5.exe を右クリックして互換モードの欄を見てみると、
  Vista 以降のものしか表示されないので、
  ちゃんと64ビット版の実行ファイルになっている
  (他にも色々な確認方法があるが、いずれも64ビット版に合致する)。

・ それなのに「8」と表示されないのはなぜ?
0945はちみつ餃子 ◆8X2XSCHEME
垢版 |
2023/12/24(日) 15:28:23.49ID:SfA3xmSz
>>944
> 64ビット環境では、sizeof(long) は「8」なのでは?

単にその認識が誤り。
64ビット版の Windows の ABI では long は 4 バイトと規定してる。
https://learn.microsoft.com/ja-jp/cpp/build/x64-software-conventions?view=msvc-170#scalar-types

コンパイラが OS の規定に逆らって独自の仕様にしたってかまわないんだけど、
やりとりがややこしくなっちゃうだけで得なことはないからね。
レスを投稿する

レス数が900を超えています。1000を超えると表示できなくなるよ。

ニューススポーツなんでも実況