Cygwin + MinGW + GCC 相談室 Part 8 (987レス)
上下前次1-新
944(1): 2023/12/24(日)13:46 ID:zZdFC2zj(1/2) AAS
質問です。
・ 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 を右クリックして互換モードの欄を見てみると、
省4
945: はちみつ餃子 ◆8X2XSCHEME 2023/12/24(日)15:28 ID:SfA3xmSz(1) AAS
>>944
> 64ビット環境では、sizeof(long) は「8」なのでは?
単にその認識が誤り。
64ビット版の Windows の ABI では long は 4 バイトと規定してる。
外部リンク:learn.microsoft.com
コンパイラが OS の規定に逆らって独自の仕様にしたってかまわないんだけど、
やりとりがややこしくなっちゃうだけで得なことはないからね。
946: 2023/12/24(日)19:23 ID:zZdFC2zj(2/2) AAS
じゃあこの挙動で問題ないんですね。ありがとうございました。
947(1): 2024/05/29(水)06:44 ID:85k4cg9J(1/2) AAS
mingw64でglibとgstreamerに動的リンクしたバイナリ作ったんだけど、glibは関数呼べるけどgstreamerは関数呼べない
なぜかgstreamerの関数を書くとプログラムの起動がコケて関数をコメントアウトするとちゃんと起動する
リンクがおかしいのかもと調べてみたけどちゃんと動的ライブラリはリンクしてるっぽい
あと考えられるのは動的ライブラリの破損ぐらいなんだけど、お前ら何か考えつくことある?
948: 947 2024/05/29(水)07:56 ID:85k4cg9J(2/2) AAS
gstreamerのバージョン下げたら解決した
949: 2024/06/15(土)21:47 ID:Ate4RGLQ(1) AAS
VC6時代のソースをビルドしてlddで見ると以下のようになった
ntdll.dll
KERNEL32.DLL
KERNELBASE.dll
msvcrt.dll
VC22は以下
ntdll.dll
KERNEL32.DLL
KERNELBASE.dll
ucrtbase.dll
省5
950: 01/05(日)11:05 ID:0SlvKtyY(1) AAS
hosyu
951: 03/09(日)23:22 ID:sClrYMAa(1) AAS
もう8時間もビルドしてるんだが?
いつ終わるんだ
952: 03/10(月)00:26 ID:L5uR+Msw(1/3) AAS
何を?
953: 03/10(月)10:28 ID:L5uR+Msw(2/3) AAS
終わったかな?
954: 03/10(月)15:40 ID:3GRyZaix(1) AAS
コンパイルだけで14時間かかった
インストールでエラーが出て終了
955: 03/10(月)23:09 ID:L5uR+Msw(3/3) AAS
何を?
956: はちみつ餃子 ◆8X2XSCHEME 03/11(火)09:58 ID:GvJGmymX(1) AAS
スレの主旨からすると GCC のコンパイルかな?
ただでさえ時間がかかるのにステージ3までやったら単純に三倍ってことだからなー
957: 03/12(水)15:30 ID:aNDBBqWo(1) AAS
cygwin使うって事はwindowsの人なんだろうけど
gccをバイナリじゃなくてソースから入れたがる理由はなんだろ
958: はちみつ餃子 ◆8X2XSCHEME 03/12(水)15:43 ID:cxKhqENs(1) AAS
クロスコンパイル環境を構築するときはバイナリが見当たらないということもある。
959: 03/13(木)04:45 ID:eyMSpLdK(1) AAS
解決しました
cgwinじゃなくてlinux環境のgccです
GCCについてのスレがDAT落ちしてたので藁をもすがる思いでこちらに書きました
gitから落とした某ソースをやってたんですがエラーログ見たら環境変数が不正だったので該当の.cに追記したら無事インストール出来ました
助かりました
遅いのはマシンスペックが大概なのもあると思います
960: 03/13(木)11:20 ID:NvBr8oPw(1) AAS
> 藁をもすがる思いでこちらに書きました
これまでの経緯見て通じてると思ってるところがZ
チラ裏にでも書いて死んどけ
961: 03/19(水)11:43 ID:Irgid5LD(1) AAS
初心者に厳しいっていうのはこんなところだな
962: 03/19(水)12:50 ID:0pCxXH7R(1) AAS
× 初心者
○ 低知能馬鹿コミュ障クズ
他人が読んで分かるように書く気がないのなら、チラ裏か日記に書いとけ
相手のせいにするのはゆとりZクズの常套手段だが、そもそも何を知りたいのか分からんのでは答えようがない
コミュ障馬鹿の為に一応定義しておくと、例えば、初心者に厳しい=低レベルの質問をした場合に無視or馬鹿にされる、だ
エスパーしてでも回答しようとしてる奴も居るし、誰も該当しない
963: 03/22(土)11:49 ID:b/nN/9NR(1) AAS
>>938
こうなるの分かってたでしょ
なんで10や11にしなかったの?
964: 03/22(土)14:19 ID:U6/Lg1xx(1) AAS
判ってて使う分には問題無い
965: 03/22(土)21:56 ID:cRNo9rU1(1) AAS
使っててとくに問題なさそうにみえて実は非常にコアな部分でトンでもない不具合が生じていて
一見ふつうに動いているだけという可能性はある
さりとて、じゃあMSYS2がサポートしてる環境下で「絶対に確実にすべてが問題なく動いている」という保証も
じつのところないので、結局そういうことを気にしたら負け
966(1): 06/26(木)17:52 ID:nmyewptE(1) AAS
wsl2でlinux版のmingw使ってるけどすごくいいね
gcc on linuxとgcc on mingw on linuxでlinux/winのバイナリを両方吐ける
これからのクロス開発のスタンダードになるんじゃ?
967: 06/26(木)18:43 ID:JONMqo8w(1) AAS
大昔からクロス用に使われていたgccをさも今自分が発見しましたみたいに言われても…
ちなclangの方がひとつのコンパイラで複数ターゲットに対応できるからもっと簡単
968: 06/27(金)09:28 ID:H+pgJuGy(1/2) AAS
>>966
とっくになってるでしょ
969: 06/27(金)09:29 ID:H+pgJuGy(2/2) AAS
>大昔からクロス用に使われていたgccをさも今自分が発見しましたみたいに
ほんそれ
開いた口が塞がらんわ
970: 07/06(日)09:46 ID:jyZjYPic(1) AAS
(たぶん)初心者が使ってて自分があっと気付いたから書いただけで、さも自分が発見しました!なんて言ってないだろ…
そもそも毎スレ掘り返される話題だし、それで初心者を萎縮させるのはどうかと
>>891くらいまで発展的用法バリバリ使ってたら、お前ら叩かんやろ?
971: 07/06(日)10:20 ID:RFZXbMVg(1) AAS
いってるね
972: 07/10(木)02:15 ID:K1GlzFeW(1) AAS
これは言ってるようにしか読めないわ
973(1): 07/15(火)23:36 ID:hInNkoM6(1) AAS
ここの回答者クズばっかだな
そら初心者こないわ
上下前次1-新書関写板覧索設栞歴
あと 14 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.026s