■ このスレッドは過去ログ倉庫に格納されています
GCCについて part10
- 1 :デフォルトの名無しさん:2011/09/03(土) 14:13:04.14 .net
- 史上最強かもしれなかったツール、GCC(GNU Compiler Collection)について語るスレ。
GNU本家のGCCページ
http://gcc.gnu.org/
Binutils - Collection of binary utilities ←これも必要だぞ。
http://www.gnu.org/directory/GNU/binutils.html
GNU Binutils
http://sources.redhat.com/binutils/
GCC online documentation
http://gcc.gnu.org/onlinedocs/
Installing GCC
http://gcc.gnu.org/install/
GCC Timeline
http://gcc.gnu.org/releases.html#timeline
Calendar
http://gcc.gnu.org/develop.html#timeline
前スレ
GCCについて part9
http://hibari.2ch.net/test/read.cgi/tech/1246059290/
関連スレ
【最速へ】LowLevelVirtualMachine【LLVM】
http://hibari.2ch.net/test/read.cgi/tech/1211547655/
- 2 :デフォルトの名無しさん:2011/09/03(土) 17:04:19.11 .net
- ストラウストラップ本は、あれプログラミング初心者向けの本じゃないから注意な
中級者が現実的なプログラミングの方法を学ぶ為の本であって
- 3 :デフォルトの名無しさん:2011/09/03(土) 17:12:55.71 .net
- 初心者って何の?
CやJavaは知ってるが、これからC++をやろうって言う人にはうってつけのような・・・
- 4 :デフォルトの名無しさん:2011/09/03(土) 18:03:27.53 .net
- 俺にはプログラミングの初心者って書いてあるように見えるが…?
- 5 :デフォルトの名無しさん:2011/09/03(土) 18:16:27.85 .net
- >本書はその原則を実際に展開しながら「プログラミングとはなにか」「どうやってプログラミングを学習するか」を
>平易に解説してゆく。何度も挫折を繰り返した学習者や、原点に立ち戻り「プログラミング」を深めたい実務者など、
>すべての開発者必読の1冊である。
と、あるよ?
- 6 :デフォルトの名無しさん:2011/09/03(土) 18:19:25.36 .net
- >>2
プログラミングの初心者は現実的なプログラミングを学んじゃいけないの?
- 7 :デフォルトの名無しさん:2011/09/03(土) 18:27:43.87 .net
- まぁ あの本はストラウストラプ先生(長い)の
ありがた〜い言葉を入門者のように素直に聞くというのが
いいかと。
神の声のような感じでうっとりですよw
でも int char double string if switch while for vector ってな
感じでポンポン出て来て、リズムがいいっすね。
ほんとにC++はツールとして選んだって感じです。
- 8 :デフォルトの名無しさん:2011/09/03(土) 18:29:48.06 .net
- 一冊くらいはびよーんすぽっすぽっの本も読んでみるか。
- 9 :デフォルトの名無しさん:2011/09/03(土) 19:26:15.61 .net
- 前スレ>>999
いや時代遅れで役に立たない本だ、とか言いたかったわけじゃなくて
単純に>>976が勘違いしてそうだったので。
- 10 :デフォルトの名無しさん:2011/09/03(土) 23:44:24.91 .net
- 禿があれ書いた時は、ああもうC++0xが確定寸前でやることないから、
プログラミング入門でも書く気になったのかなと思った。
もちろんそれは気のせいだった。
- 11 :デフォルトの名無しさん:2011/09/04(日) 01:49:11.78 .net
- >>3-5
とんでもない誤解だよ
ttp://d.hatena.ne.jp/eel3/20110813/1314198158
- 12 :デフォルトの名無しさん:2011/09/04(日) 01:58:49.57 .net
- >ただ「プログラミングを始めるための最もやさしい本ではない」訳で、
>何かしらの開発経験はあるけど色々と足りない部分を痛感しているような人なら本書で独習することも可能だろうが、
>それよりも経験値が不足している人やプログラミング未経験の人が独習用に使うのは避けたほうが無難だろう
ふ〜ん。(゚σ ゚)ホジホジ
- 13 :デフォルトの名無しさん:2011/09/04(日) 02:52:57.76 .net
- まえがきからの抜粋に文句つけられても・・・
>本書はプログラミングを始めるための最もやさしい本ではないし、そのようなつもりで書いていない。
>著者が目指したのは、現実のプログラミングの基礎を最も簡単に学べる本である。
>現実のソフトウェアの多くがほんの数年前まで高度であると見なされていた技術に基づいていることを考えれば、実に意欲的な目標ではないか。
>基本的には、他の人が使用するためのプログラムを書き、それを責任を持って行い、
>それなりの品質を維持したいと考えていることが前提となる。
>つまり、プロとして恥ずかしくないレベルを目指しているものと想定する。
>そこで、本書では教えたり学んだりするのがやさしいものではなく、
>現実のプログラムに取り組むために必要なものがカバーされるように話題を選んだ。
- 14 :デフォルトの名無しさん:2011/09/04(日) 03:34:40.08 .net
- あえて入門書というカタチを取ったおかげで
言葉や想いが伝わりやすくなってる気がする。
でも その言葉は熱く優しく気高い。
- 15 :デフォルトの名無しさん:2011/09/04(日) 13:22:41.77 .net
- まあ独学でやるにはそれなりのプログラミング経験は必要ってこったな
- 16 :デフォルトの名無しさん:2011/09/07(水) 02:27:29.37 .net
- 趣味ならrubyなりnode.jsなり、もっと良い言語があるのにな
- 17 :デフォルトの名無しさん:2011/09/07(水) 17:31:07.36 .net
- 釣られませんよ
- 18 :デフォルトの名無しさん:2011/09/12(月) 13:33:25.48 .net
- unused but set variablesって4.6以降エラー扱いがデフォになってるみたいだけど、
これって弾かないといけないくらい有害なの?
いまいちデメリットがよくわかんないんで誰かヒントくれ。
- 19 :デフォルトの名無しさん:2011/09/12(月) 14:45:09.25 .net
- 弾込めたら弾かないと
- 20 :デフォルトの名無しさん:2011/09/12(月) 16:53:41.85 .net
- 無駄な変数宣言しとるで
って、だけじゃあ
違うかな
- 21 :デフォルトの名無しさん:2011/09/12(月) 19:14:40.83 .net
- その程度で警告じゃなくてエラー扱いはやりすぎだからなんか深い理由があるの?
と>>18は聞いてるようだが
- 22 :デフォルトの名無しさん:2011/09/12(月) 20:01:04.29 .net
- 引数の未使用でもエラー吐くの?
- 23 :デフォルトの名無しさん:2011/09/12(月) 20:03:57.34 .net
- 無能って教えてくれてるんじゃあ、コンパイラが
- 24 :デフォルトの名無しさん:2011/09/12(月) 20:10:01.63 .net
- バグのあらわれだったりすることはあるよね。
- 25 :デフォルトの名無しさん:2011/09/12(月) 20:16:15.63 .net
- -Wunused-parameter
つけんと特に怒らんけどね、コンパイラ
- 26 :デフォルトの名無しさん:2011/09/12(月) 21:13:48.24 .net
- -O2 -Wall -Werrorあたりよくわからんまま適当につけて
怒られているとエスパーしてみる
- 27 :デフォルトの名無しさん:2011/09/12(月) 23:10:36.24 .net
- -Werror=unused-but-set-variable
#: c-decl.c:1183
#, gcc-internal-format
msgid "variable %qD set but not used"
msgstr "変数 %qD が設定されましたが使用されていません"
- 28 :デフォルトの名無しさん:2011/09/25(日) 03:08:05.57 .net
- 質問です
gcc4.6.1(MinGW)でRaw string literalで R[]で囲もうとするとコンパイルエラーになります
R()で囲むとコンパイルが通るのですが、どちらが正しいのでしょうか?
- 29 :デフォルトの名無しさん:2011/09/25(日) 03:12:44.02 .net
- R"( )" で囲むのが正しいよ
R"hoge( )hoge" とかで囲んでもいいけど
R[ ] も R( ) もコンパイル通らない
- 30 :デフォルトの名無しさん:2011/09/25(日) 03:13:51.73 .net
- >>29
ありがとうございます
早くc++11の規格表が欲しくなりますね
- 31 :デフォルトの名無しさん:2011/09/25(日) 03:14:04.05 .net
- あ、しまった
sageます
- 32 :デフォルトの名無しさん:2011/09/25(日) 03:14:42.11 .net
- FDISはもう落とせないからねえ
- 33 :デフォルトの名無しさん:2011/09/25(日) 03:15:29.50 .net
- はい
FDISはいりません
正規のPDFを購入予定です
- 34 :デフォルトの名無しさん:2011/09/26(月) 10:50:49.10 .net
- そのうちANSI版が安く出るでしょ。(ISO版は高いけど)
- 35 :デフォルトの名無しさん:2011/09/27(火) 02:14:55.66 .net
- やっとリポに4.5.3来た
4.4.5 → 4.5.3 ビルドしてきます
- 36 :デフォルトの名無しさん:2011/10/02(日) 16:37:36.59 .net
- 共有ライブラリのリンクの方法に関する
正式なドキュメントってどこにあるんでしょう?
GCC online documentation
http://gcc.gnu.org/onlinedocs/
ここのどのバージョンでもいいですけど
リンクオプションのページを見ても
-l の説明にはスタティックライブラリの
ことしか載ってないですよね?
今まで普通に -l で共有ライブラリのリンクも
指定して特に問題なく実行できていたのですが
一度ちゃんと仕様を確認しておこうと思ったら
どこにもないのですが…
それとも単純にスタティックの場合の記述を
共有の場合にも適用してしまっていいということでしょうか?
ご存知の方いましたら教えてください
- 37 :デフォルトの名無しさん:2011/10/02(日) 17:23:46.23 .net
- >>36
共有ともスタティックとも書かれていないような。
ttp://gcc.gnu.org/onlinedocs/gcc-4.6.1/gcc/Link-Options.html#index-Libraries-968
- 38 :デフォルトの名無しさん:2011/10/02(日) 17:27:24.26 .net
- >>37
-l の説明の最後に
... with `lib' and `.a' and searches several directories.
とあったので拡張子からしてスタティックのことだと思ったのですが
そういうわけではないのでしょうか?
- 39 :デフォルトの名無しさん:2011/10/02(日) 17:36:46.07 .net
- man ldしな。gccはコンパイラやリンカをそこそこよろしいオプションで起動するドライバ。
例外投げる共有ライブラリを使う場合は-static-libgccは使わない方がいい。
本当に詳しく知りたいならbinutils側のドキュメントと現在の実装度、
使うオブジェクトファイル形式の仕様、OS側のライブラリ管理方式、
自分の使うgccのspecsファイルを見れば何したらどうなるか分かる。
- 40 :デフォルトの名無しさん:2011/10/02(日) 18:09:29.22 .net
- man ld はCentOS5で確認済みでしたが、共有ライブラリに関することは
載っていませんでした。(むしろスタティック限定とも取れる書き方)
…が、ネットでいくつか検索してみたところ、例えば
http://www.sra.co.jp/wingnut/ld/ld-ja_2.html
では
> -larchive
> --library=archive
> 共有ライブラリをサポートしているシステムでは, ld は, 拡張子が .a 以外のライブラリをも検索する.
> 特に, ELF システムと SunOS では, ld はあるディレクトリでライブラリを検索する時, 拡張子が .a の
> ものよりも先に拡張子が .so のものを 探す. 約束により, .so という拡張子は共有ライブラリを表す.
という記述があり、一応スッキリしました。
(割と重要な情報だと思いますが、マニュアルに必ずしも記述されてないようですね)
binutilsをはじめとするその他ドキュメントについても確認してみます。
どうもありがとうございました。
- 41 :デフォルトの名無しさん:2011/10/02(日) 18:39:47.33 .net
- GCCはmanpageは参考程度と思え、とどっかで読んだ記憶がある
- 42 :デフォルトの名無しさん:2011/10/02(日) 18:46:41.29 .net
- 今のbinutilsのmanなら-l namespecで同じ記述がある筈なんだけどなあ
CentOSのパッケージの都合でもあるのか
>>41
逆にさんざん探して無いと思ってた情報がmanに載ってる場合も
- 43 :デフォルトの名無しさん:2011/10/02(日) 18:51:17.70 .net
- gcc -Wl,--verbose ほげほげ
- 44 :デフォルトの名無しさん:2011/10/03(月) 00:59:51.12 .net
- >>40
> On systems which support shared libraries, ld may also search for
> files other than libnamespec.a. Specifically, on ELF and SunOS
> systems, ld will search a directory for a library called
> libnamespec.so before searching for one called libnamespec.a. (By
> convention, a ".so" extension indicates a shared library.) Note
> that this behavior does not apply to :filename, which always
> specifies a file called filename.
manpageにこの記述がないbinutilsのバージョンは何?
- 45 :横レス:2011/10/03(月) 01:24:26.74 .net
- 説明
ld は複数のオブジェクトファイルや書庫 (archive) ファイルを結合し、それ
らのデータをリロケートして、シンボルの参照をまとめる。新たな実行プロ グ
ラ ムをコンパイルして作成する作業の最終ステップは、多くの場合 ld の呼び
出しとなる。
ld はリンカコマンド言語のファイルを受け付ける。このファイルでリンク処理
を明示的に、また完全に制御することができる。この man ページではコマンド
言語を説明していない。コマンド言語や GNU リンカのその他の内容に関する詳
細 は info の `ld' エントリか、マニュアルである ld: the GNU linker を参
照すること。
ld の本バージョンではオブジェクトファイル関連の作業に汎用の BFD ライ ブ
ラ リを用いている。これによって ld では多くの異なるフォーマットのオブジ
ェクトファイルを読み、書き、結合することができるようになっている ( 例え
ば COFF や a.out)。異なるフォーマットをリンクして、あらゆる種類のオブジ
ェクトファイルを作成できる。サポートされているフォーマットや関連する ア
ーキ テ ク チ ャに 関しては ` objdump -i' を実行すればよい。詳細は obj-
dump(1) を見よ。
GNU リンカは柔軟であるだけでなく、診断 (diagnostic) メッセージも他の リ
ン カより詳しい。多くのリンカはエラーが生じるとすぐに動作を停止してしま
うが、 ld は可能な限り処理を続け、他のエラーに関しても知らせようとす る
( あるいはエラーにもかかわらず出力ファイルを作成してしまうことさえある)
。
GNU リンカ ld は多くの状況をカバーするように作成されている。また他の リ
ン カとできる限り互換性を保つようにしてある。したがって ld の振る舞いは
、コマンドラインや環境変数によって細かく制御できるようになっている。
- 46 :デフォルトの名無しさん:2011/10/05(水) 21:17:11.75 .net
- Merging In The GNU D Language Compiler To GCC
http://www.phoronix.com/scan.php?page=news_item&px=OTk2NA
D言語、いらっしゃい
- 47 :デフォルトの名無しさん:2011/10/09(日) 19:40:37.99 .net
- objdumpでx86-64のバイナリモードで逆アセンブルしたいんだけど上手くいきません
$ /usr/local/bin/objdump -D -m x86-64 -b binary a.exe
a.exe: file format binary
/usr/local/bin/objdump: can't use supplied machine x86-64
-m i8086
-m i386
では上手くいきますが-m x86-64は逆アセンブルしてくれません
なんででしょうか?
obudump -d a.exeとすれば普通にx86-64を逆アセンブルしてくれます
- 48 :デフォルトの名無しさん:2011/10/09(日) 19:48:38.09 .net
- -m i386:x86-64 -b binary ...
これで上手くいきました・・・すいませんでした
- 49 :デフォルトの名無しさん:2011/10/28(金) 16:11:17.24 .net
- 4.6.2
- 50 :デフォルトの名無しさん:2011/11/22(火) 22:16:04.41 .net
- Binutils 2.22 released
- 51 :デフォルトの名無しさん:2011/11/23(水) 06:13:33.85 .net
- すいません
リンカ(ld)のオプション-Rについて教えてください
マニュアルには「シンボル名とそのアドレスを filename から読み込む.」
とありますが、
これはライブラリのあるフォルダを指定しているということでしょうか?
とすると、gccの-Lや-lはなんのために有るのでしょうか?
- 52 :デフォルトの名無しさん:2011/11/23(水) 07:00:06.55 .net
- -l LIBNAME, --library LIBNAME
Search for library LIBNAME
-L DIRECTORY, --library-path DIRECTORY
Add DIRECTORY to library search path
-R FILE, --just-symbols FILE
Just link symbols (if directory, same as --rpath)
-rpath PATH Set runtime shared library search path
- 53 :デフォルトの名無しさん:2011/11/23(水) 21:57:03.33 .net
- >>52
ん?
よくわからないです。
例えば
cc -L/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libarchive/.libs
-L/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libfetch
-L/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libnbcompat
-Wl,-R/usr/pkg/lib -L../lib -o pkg_add main.o perform.o
-linstall -lfetch -larchive -lbz2 -lz -lnbcompat -lnbcompat
を実行すると、
../lib/libinstall.a(parse-config.o): In function `pkg_install_config':
parse-config.o(.text+0x3f6): undefined reference to `fetchConnectionCacheInit'
と言うエラーが出ます。
原因は、
-R/usr/pkg/libのところで、/usr/pkg/libというディレクトリが存在していないためだと思われるのですが、
-Wl,-R/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libarchive/.libs
-Wl,-R/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libfetch
-Wl,-R//usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libnbcompat
-Wl,-R../lib
と追記した所、
cc:-R/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libarchive/.libs
linker input files unused sinece linking not done
と出て、失敗してしまいました。
解決策は、/usr/pkg/libを作ってそこにlib**をコピーすれば良いかなとも思ったのですが、
これで良いでしょうか?
- 54 :デフォルトの名無しさん:2011/11/23(水) 22:24:14.63 .net
- >>53
>よくわからないです。
ド素人が何をしてるのか、わかる人がいるとは思えんけど
--rpathってのは、暗黙にリンクされるlibファイルの場所を指定するんだけど
(俺もよくわかってないので雰囲気でわかって頂戴)
-Lはlibのある場所を指定するところ
libhoge.aをlinkしたいとき、フルパスで指定すると
ほげほげ/libhoga.a
と書くところを
-Lほげほげ -lhoge
って、書けるっていうだけ
libの依存関係によっては、書く順番によってはエラーになることがある
実績のあるtar玉から
configure,makeして何やってるか、見て見るところから始めたら
言葉で覚えるより出来合いのもの見て覚えるほうを個人的にオススメする
- 55 :デフォルトの名無しさん:2011/11/28(月) 02:49:40.60 .net
- すいません。教えてください。
BSD/OSにてpkgsrcをコンパイルしています。
gccのバージョンは
Using builtin specs.
gcc version 2.95.3 20010315 (release)
です。
何度か/usr/pkgsrc/bootstrap/bootstrapを行っていて、
失敗するごとに、ソースの修正→/usr/pkgsrc/bootstrap/cleanup→/var/dbの削除を行って
再度/usr/pkgsrc/bootstrap/bootstrapを行うという繰り返しで進んでいます。
/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/pkg_install-20110805/addというディレクトリで
cc -L/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libarchive/.libs
-L/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libfetch -L/usr/pkgs
rc/bootstrap/work/wrk/pkgtools/pkg_install/work/libnbcompat -Wl,-R/usr/pkg/lib
-L../lib -o pkg_add main.o perform.o -linstall -lfetch -larchive -lbz2 -lz -lnb
compat -lnbcompat
../lib/libinstall.a(parse-config.o): In function `pkg_install_config':
parse-config.o(.text+0x3f6): undefined reference to `fetchConnectionCacheInit'
../lib/libinstall.a(pkg_io.o): In function `fetch_archive_open':
pkg_io.o(.text+0x19): undefined reference to `fetchXGet'
というエラーが発生しました。
- 56 :デフォルトの名無しさん:2011/11/28(月) 03:53:25.95 .net
- エラーメッセージの内容が理解できないの
としか、いえんな
- 57 :デフォルトの名無しさん:2011/11/28(月) 08:57:15.07 .net
- 何カ所でマルチポストしてるんだよこいつ
- 58 :デフォルトの名無しさん:2011/11/28(月) 15:50:55.67 .net
- BSDIってまだサポートされてるのとかgcc-2.95とかそれでもマルチとか驚愕
- 59 :デフォルトの名無しさん:2011/11/28(月) 17:56:22.57 .net
- autotoolsで作ってる共有ライブラリを
fprofile-generate、fprofile-useを使って
最適化する方法の詳細な記事を書いてください。
- 60 :デフォルトの名無しさん:2011/11/28(月) 17:59:00.69 .net
- ?ttp://d.hatena.ne.jp/pyopyopyo/20060311
- 61 :デフォルトの名無しさん:2011/12/02(金) 12:35:51.36 .net
- 私は高校2年の女子です。
C言語の勉強をしています。
次のようなプログラムを書きました。
#include <stdio.h>
#include <curses.h>
int main()
{
int x;
getch("%u", x);
printf("%\n", x);
return 0;
}
コンパイルエラーが
error: macro "getch" passed 2 arguments, but takes just 0
と、出ました。
/usr/include以下にcurses.hがあることは確認済みです。
原因と対策を教えてください。
- 62 :デフォルトの名無しさん:2011/12/02(金) 13:43:09.47 .net
- error: macro "getch" passed 2 arguments, but takes just 0
- 63 :デフォルトの名無しさん:2011/12/02(金) 13:44:58.01 .net
- エラーメッセージを読め。読み方がわからなければ先生に聞け。
getch()に引数は不要。他の関数と間違えてる?
- 64 :デフォルトの名無しさん:2011/12/03(土) 01:51:07.80 .net
- エラーメッセージ、本当は error: の前に "なんとか.c:6:14 " みたいなのがあるはずだが。
それに本当にcursesでプログラムを書きたいのかと。
もしこれが真面目な質問なら、C言語の質問をするようなスレで、どんなプログラムを
作りたいのか説明して質問した方がいいと思う。
本当にcursesを使うならUNIX系の人じゃないと知らないかもしれんけど。
- 65 :デフォルトの名無しさん:2011/12/04(日) 06:50:41.64 .net
- 初心者ですみません
Cygwin で gcc を使ってます
assert() を使用すると undefined reference to `_assert'
エラーが出て困ってます
どなたかご教授頂けると幸いです
- 66 :デフォルトの名無しさん:2011/12/04(日) 07:23:22.03 .net
- #include <assert.h>してある?
- 67 :デフォルトの名無しさん:2011/12/04(日) 10:45:39.26 .net
- >>66
ビンゴでした(;^ω^)
- 68 :デフォルトの名無しさん:2011/12/08(木) 23:11:00.34 .net
- gccというかautotoolsなのですが
./configure --build=x86_64-w64-mingw32
と毎回指定するのが面倒なので、環境変数で指定できないでしょうか?
- 69 :デフォルトの名無しさん:2011/12/09(金) 02:11:26.49 .net
- alias conf='./configure --build=x86_64-w64-mingw32'
とでもしとけばいいんじゃね?
- 70 :デフォルトの名無しさん:2011/12/09(金) 02:22:58.33 .net
- config.niceを拾っておいて2回目以降はそれ使わね?
- 71 :デフォルトの名無しさん:2011/12/09(金) 02:42:43.54 .net
- >>70
config.niceって初めて知った。
ググるとPHPやApacheで使われているもののように見えるけど、よくわからん。
- 72 :デフォルトの名無しさん:2011/12/09(金) 17:49:05.22 .net
- >>70
head config.log
してたわ〜と思ったけどそんなファイルできないぞ
どうもautoconfの機能ではなく、configure.acに自分で処理書いて生成してるっぽいが
- 73 :デフォルトの名無しさん:2011/12/10(土) 23:10:38.16 .net
- SandyBridgeでg++ -march=native -mtune=native で作ったバイナリって
Core2とかじゃ動かないみたいなんだけど、どのオプションでどれで動くかって
表か何かない?
- 74 :デフォルトの名無しさん:2011/12/11(日) 03:28:34.47 .net
- >>73
nativeだとAVX(-mavx)が入るからだろ
-march=core2にしたらいいよ
オプションはこれででる
ttp://d.hatena.ne.jp/ktomoya/20100510/1273510042
- 75 :デフォルトの名無しさん:2011/12/11(日) 08:32:33.51 .net
- >>74
おぉ、サンクス。
ちなみに、MinGW/g++.exe (GCC) 4.6.1でこんなんでた。
-march=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-tbm -mavx -msse4.2 -msse4.1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -mtune=corei7-avx
- 76 :デフォルトの名無しさん:2011/12/11(日) 15:53:29.35 .net
- >>75
-mavx -msse4.2 -msse4.1 -maes -mpclmul -mpopcnt ...
などがCPUごとに実装状況が異なる命令を使うってオプションだから
SSE4.2やAVX、POPCNTなど最近できた命令に対応していないプロセッサだと動かない
-march=nativeはコンパイルしたマシンのプロセッサなどからこういうオプションを勝手に付けてくれるものだから
対応表とか作るとCPUのカタログになってしまうので
コンパイル済みのバイナリを別のマシンで実行したいならmarchやmtuneは指定しないか
対象が分かっているならその中で一番機能が少ないプロセッサに合わせて設定したほうがいいかと
- 77 :デフォルトの名無しさん:2011/12/16(金) 21:45:35.33 .net
- 普段Pythonを使っているんだけど、gcc on LinuxでCで何かの分野の処理をやるとしたら何の分野がいいかな?
コーディングがマゾい奴はやりたくない。うひょー、コーディング楽しいって感じの週末にしたい。
- 78 :デフォルトの名無しさん:2011/12/16(金) 22:57:34.93 .net
- フィボナッチ数でも計算してろ
- 79 :デフォルトの名無しさん:2011/12/17(土) 04:10:44.29 .net
- wxPython と wxWidgets のバインディングが出来るツールをおながいしまつ
- 80 :デフォルトの名無しさん:2011/12/22(木) 10:18:33.81 .net
- windows7にしたらResource temporarily unavailableエラーが頻出するようになったんだけど
どういうことこれ
- 81 :デフォルトの名無しさん:2011/12/22(木) 12:07:36.06 .net
- Cygwin使っているならCygwin固有の問題
- 82 :デフォルトの名無しさん:2011/12/28(水) 14:50:50.96 .net
- 問題だね(´・ω・`)
- 83 :デフォルトの名無しさん:2011/12/31(土) 16:04:05.91 .net
- 問題と思うから問題になる
問題と思わなければ問題ない
- 84 :デフォルトの名無しさん:2012/01/01(日) 19:14:46.19 .net
- >>81
win7からメモリ管理の方式が変わったらしいし
たぶんメモリアクセスのコンフリクトだと思うんだけど
直し方がなあ
コンパイルするたびにがちゃがちゃとエラーで止まるのが非常にうざい
- 85 :デフォルトの名無しさん:2012/01/02(月) 13:01:35.03 .net
- 具体的に
何やったら、こうなった
って、かいてほしいな
- 86 :デフォルトの名無しさん:2012/01/03(火) 12:16:02.83 .net
- Cygwin + MinGW + GCC 相談室 Part 6
http://toro.2ch.net/test/read.cgi/tech/1304609116/
というのがある。
- 87 :デフォルトの名無しさん:2012/01/03(火) 13:21:45.30 .net
- 4.6.1の情報はドコで手に入りますか?
- 88 :デフォルトの名無しさん:2012/01/03(火) 20:06:07.38 .net
- tar玉に入ってるだろ
- 89 :デフォルトの名無しさん:2012/01/05(木) 18:39:50.52 .net
- 最適化しても助長なコードを吐くことがあるのを見つけちゃったよ
- 90 :デフォルトの名無しさん:2012/01/05(木) 19:35:52.48 .net
- んではそのケース用peephole optimizationを.mdに追加してくれ
- 91 :デフォルトの名無しさん:2012/01/05(木) 19:44:12.02 .net
- え、秘密にしてちゃ駄目かな?
- 92 :デフォルトの名無しさん:2012/01/05(木) 23:33:57.20 .net
- 助長してくれるならいいことじゃないか
- 93 :デフォルトの名無しさん:2012/01/06(金) 00:22:32.22 .net
- 転送先に書いて、転送先から同じレジスタに書き戻すことがある
で、わかりますか?
- 94 :デフォルトの名無しさん:2012/01/06(金) 14:47:54.30 .net
- ターゲット書かないのはターゲット非依存ってことなのか、今日日x86に決まってんだろうがってことなのか
- 95 :デフォルトの名無しさん:2012/01/06(金) 15:14:17.60 .net
- 複数archで確認してるよ、peephole2使って
- 96 :デフォルトの名無しさん:2012/01/08(日) 22:17:08.34 .net
- 以下のようなコードでコンパイルは通るのですが
実行した時の表示が
1
1
のようになってしまいます。
1
2
になるつもりで書いているのですが
変数の受け渡しはどうすればいいのでしょうか?
(円記号のところは本当はバックスラッシュになっています)
#include <stdio.h>
int test(a)
{
a = a + 1;
return a;
}
int main()
{
int a;
a = 1;
printf("%d\n",a);
test(a);
printf("%d\n",a);
return 0;
}
- 97 :デフォルトの名無しさん:2012/01/08(日) 22:35:35.37 .net
- a=test(a);
- 98 :デフォルトの名無しさん:2012/01/08(日) 22:52:02.15 .net
- #include <stdio.h>
void test(int *a)
{
*a += 1;
}
int main()
{
int a = 1;
printf("%d\n",a);
test(&a);
printf("%d\n",a);
return 0;
}
- 99 :デフォルトの名無しさん:2012/01/13(金) 03:10:33.49 .net
- Commit: RX: Add return pattern
ttp://gcc.gnu.org/ml/gcc-patches/2012-01/msg00627.html
gcc/function.cの
HAVE_return
HAVE_simple_return
の場合分けが悪いだけなのにね
ここに書いても無駄だと思うけど、なんとなく
- 100 :デフォルトの名無しさん:2012/01/13(金) 14:29:13.06 .net
- >>99
特定アーキテクチャの問題で共通部分に手を出すのはむずいのでふ
- 101 :デフォルトの名無しさん:2012/01/13(金) 15:20:26.40 .net
- 特定アーキテクチャの問題
じゃあねえよ、ど素人が
- 102 :デフォルトの名無しさん:2012/01/14(土) 14:19:50.12 .net
- >>101
んではRX以外に問題を起こしているアーキテクチャを挙げてくれ
- 103 :デフォルトの名無しさん:2012/01/14(土) 17:37:33.78 .net
- 他のアーキテクチャはmdいじくって、回避してるよ
どっちを修正すればいいかって話になるけど
function.cの該当部分書いたのがイマイチだって感じかな?
- 104 :デフォルトの名無しさん:2012/01/14(土) 17:46:01.66 .net
- archによってはわざとmakeでコケるような細工してあることが注意したほうがいいよ
- 105 :デフォルトの名無しさん:2012/01/14(土) 18:23:50.79 .net
- make の段階でこけるならまだ良心的だなw
- 106 :96:2012/01/22(日) 23:41:41.30 .net
- 遅くなりましてすみませんが
ご回答いただいた方ありがとうございました
- 107 :デフォルトの名無しさん:2012/01/27(金) 16:04:12.55 .net
- これからは礼の言葉はいらん
- 108 :デフォルトの名無しさん:2012/02/28(火) 18:10:21.39 .net
- 対レジスタに関して演算結果で変化がないときは最適化してくれるけど
対メモリに対しては最適化されない時があるんだね、gcc
- 109 :デフォルトの名無しさん:2012/02/28(火) 18:41:02.39 .net
- 頑張っても同じって場合なんじゃない?
- 110 :デフォルトの名無しさん:2012/02/28(火) 18:46:57.74 .net
- レジスタ使い回しが出来る奴はあんまり影響がないけど
メモリに依存したような奴は無駄なコードを吐いちゃうってことがある?ってことです
- 111 :デフォルトの名無しさん:2012/02/28(火) 19:14:32.98 .net
- 最適化レベル6にしてるか?
- 112 :デフォルトの名無しさん:2012/02/28(火) 19:28:33.24 .net
- aliasある疑いがある時はちゃんとメモリアクセスしないと仕方ねえしな。
- 113 :デフォルトの名無しさん:2012/02/28(火) 20:01:52.41 .net
- 最適化レベル6ってどこのコンパイラのこと?
- 114 :デフォルトの名無しさん:2012/02/28(火) 20:25:22.47 .net
- THINK Cだろ
- 115 :デフォルトの名無しさん:2012/02/28(火) 22:09:56.74 .net
- Linux 0.99とかその辺の話じゃないの?
- 116 :デフォルトの名無しさん:2012/02/28(火) 22:19:55.95 .net
- ワシの最適化は108まであるぞ
- 117 :デフォルトの名無しさん:2012/02/28(火) 22:53:59.19 .net
- 内部的には3まででしょ、gcc
-Oのあとの数字はなんでもうけつけるってだけで
最適化レベルっていっても細かなオプションが適時追加されるだけという
- 118 :デフォルトの名無しさん:2012/02/29(水) 09:17:44.33 .net
- やたらでかい数字に意味があったのってEGCS時代ぐらいじゃね?
- 119 :デフォルトの名無しさん:2012/02/29(水) 17:21:18.80 .net
- ぐらいだね
- 120 :デフォルトの名無しさん:2012/03/03(土) 12:56:03.52 .net
- 4.7.0
- 121 :デフォルトの名無しさん:2012/03/08(木) 01:15:56.76 .net
- gcc4.7を使ってみたくて自前ビルドで詰まったんだけど,質問はここでいいのだろうか.
場所が悪ければ誘導願いたい
Ubuntu 11.10で,gcc-4.7.0-RC-20120302をビルドしようとしてる.
標準エラーの最後の方がこんなのだったんでリンクができてなくて止まってるのはわかるんだけど
glibcやらbinutilsあたり,aptにあるそれらしいやつは違うようだった
入れるべきパッケージなりが足りてない?
それともlocateで出てくる奴にシンボリックリンクでも貼ればいいものだろうか
↓エラーログ
/usr/local/bin/ld: cannot find crti.o: No such file or directory
/usr/local/bin/ld: cannot find -lc
/usr/local/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
解決法探すコツみたいなものも教えていただけるとありがたい
ログが膨大で何に重点をおくべきかわからなくなってる
- 122 :デフォルトの名無しさん:2012/03/08(木) 01:31:56.68 .net
- glibcのdevelみたいなのが入ってないような感じ、debian系はよー知らんけど
今のgccはビルドするときに必要なパッケージが増えてるから、ご注意を
ttp://packages.ubuntu.com/oneiric/gcc
- 123 :デフォルトの名無しさん:2012/03/08(木) 07:45:36.03 .net
- >>121
Ubuntuにもmultiarch問題があるのか。
- 124 :デフォルトの名無しさん:2012/03/08(木) 08:35:59.30 .net
- 自分で答え書いてるやん
- 125 :デフォルトの名無しさん:2012/03/08(木) 10:05:25.71 .net
- リナックスは問題だらけで使い物にならんよ。
リナックスがパッケージシステムが出来て糞になってる間に
windowsは安定してみんな使うようになった。
- 126 :デフォルトの名無しさん:2012/03/08(木) 10:54:37.12 .net
- >>125 のようなバカが使ってるよな
- 127 :デフォルトの名無しさん:2012/03/08(木) 10:59:19.59 .net
- メーカーがドライバーを作らないからな。
偽者のドライバーでは機能制限が多すぎて
最高のパフォーマンスを出すことは到底不可能だからな。
- 128 :デフォルトの名無しさん:2012/03/08(木) 11:05:01.38 .net
- 釣りにしてはネタが腐ってるような?
- 129 :デフォルトの名無しさん:2012/03/08(木) 11:23:08.62 .net
- 寿司じゃないんだから・・・・
それを言うならエサでしょう。あいにっく
釣りっぽい発言には見えないが・・・
- 130 :121:2012/03/08(木) 14:24:03.17 .net
- パッケージのgcc4.6は入ってるから,glibc系の依存してるパッケージは入ってるはず.
/usr/libとかに勝手に作っちゃうと先々何か入れるときに衝突しそうで避けてたんだけど
/usr/libにあるはずのものが/usr/lib/i386-linux-gnuに入っちゃってるって記事を見て
シンボリックリンク貼って走らせておいたら通ってたよ
現在make check中.
ものすごく無理やりな感があって正しいのか不安だけど,とりあえず回答に感謝
- 131 :デフォルトの名無しさん:2012/03/09(金) 01:27:12.80 .net
- multiarch問題は--libdir=/usr/lib/i386-linux-gnuで解決するんじゃないのか?
- 132 :デフォルトの名無しさん:2012/03/09(金) 01:46:40.72 .net
- あ,まさにそれっぽい
これか.
--libdir=dirname
Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib.
勝手に作ったシンボリックリンク外してやってみる
- 133 :デフォルトの名無しさん:2012/03/09(金) 22:22:39.29 .net
- うまくいかないな
configureに--libdir=/usr/lib/i386-linux-gnuやら
--libexecdir=/usr/lib/i386-linux-gnuやらつけて
何回か試してみたけど見に行ってくれてないみたい
ldが探す場所ってld.so.confが読んでる奴じゃなかったっけ.
こっちに/usr/lib/i386-linux-gnuも入ってるのだけど,
ldconfig -pに出てこないから探しに行ってないんだよな
ここが解決すればよさそうな気もするのだけど.
このあたりの話題はスレ違いだろうか
- 134 :デフォルトの名無しさん:2012/03/09(金) 22:25:33.52 .net
- 64bitなgcc作りたいの?
なら、32bitな環境入れとかないとコケるような
- 135 :デフォルトの名無しさん:2012/03/09(金) 22:34:00.66 .net
- いや,そも全部32bit環境…のはず.
i386,i686はアーキテクチャの差であってbit数は関係ないよね?
- 136 :デフォルトの名無しさん:2012/03/09(金) 22:37:31.73 .net
- どこでコケてるのか、文章だけじゃ、わからないよ
rpmなら、specファイル見たらって言えるんだけど
- 137 :デフォルトの名無しさん:2012/03/09(金) 22:56:36.35 .net
- あ,出てるエラーは>>121です
ldが/usr/lib/i386-linux-gnu/を見ずに/usr/libまでしか見てないらしくて
crti.oとかが無いと言われる
/usr/libから手動でシンボリックリンクを貼ってみたら一回通ったけど,
そうじゃなくてオプションでそちらを見る方法があるなら知りたい
直前のコマンドは引数多すぎて何をしてるのかよくわからないけど
(ビルドしてるディレクトリ)/gcc/xgcc
のようです
- 138 :デフォルトの名無しさん:2012/03/09(金) 23:57:50.14 .net
- なんかまだ具体性欠いてるきがするので追記.
gcc4.7.0RCのmake中,>>121のエラー
そのあとの出力は以下,直前のコマンドは貼れないくらい長いものでxgccを起動してるらしい
make[3]: *** [libgcc_s.so] エラー 1
make[3]: *** 未完了のジョブを待っています....
make[3]: ディレクトリ `($HOME)/build/gcc-4.7.0-RC-20120302/build/i686-pc-linux-gnu/libgcc' から出ます
make[2]: *** [all-stage1-target-libgcc] エラー 2
make[1]: *** [stage1-bubble] エラー 2
make: *** [all] エラー 2
make[2]: ディレクトリ `($HOME)/build/gcc-4.7.0-RC-20120302/build' から出ます
make[1]: ディレクトリ `($HOME)/build/gcc-4.7.0-RC-20120302/build' から出ます
---ここまで---
自分で判断できることと知りたい内容は>>137の内容.
- 139 :デフォルトの名無しさん:2012/03/10(土) 00:03:21.81 .net
- --disable-bootstapつけてやってみるとか、適当だけど
自分もその辺でハマった口だけど、
build.log見たりとか
コケたところを部分的に手動でやってみたりとか
gccのビルドって、自力でやるのがだんだん難しくなってる、自分的には
4.6あたりで出来るか試してみるのも、ひとつの手
- 140 :デフォルトの名無しさん:2012/03/10(土) 00:48:37.07 .net
- そりゃ、野良のldをmultiarch対応せずに使っているなら見ねーよな
- 141 :デフォルトの名無しさん:2012/03/10(土) 00:56:54.52 .net
- いろんなアーキテクチャに対応するために
/usr/libにあったものを/usr/lib/(アーキテクチャ名)に移動してあるものがあって
ldもmultiarchに対応したものを指定してやらないとならない,ってことか
ldはbinutilsに含まれるってことで合ってる?
binutilsも新しいもの入れたつもりだけど,古いの呼んじゃってるかもしれないから
そのあたり調べてみる
- 142 :デフォルトの名無しさん:2012/03/10(土) 00:58:53.88 .net
- 本当にバカだな
意味が分からないなら、ubuntuのbinutilsつかってみろ
それで解決
- 143 :デフォルトの名無しさん:2012/03/10(土) 01:03:33.54 .net
- Debianのgcc-4.7をリビルドして使おうとしないところが、頑なな奴だな。
- 144 :デフォルトの名無しさん:2012/03/10(土) 01:26:26.28 .net
- >>142
Ubuntu,もしかしたらDebianからかもしれんけど
ディストリビューション特有の問題でそれに対応したのがちゃんと用意されてるから
素直にそれを使え,でいいんだろうか
とりあえず自分で入れたbinutils削除してld -vでfor Ubuntuの文字を確認してから
もう一度make中
>>143
Linux使い始めてそう経ってないから,常識をわかってないところは多々あると思うんで
そういうところこそ聞きたかった
4.7使いたいだけならgnuの素のソースだけじゃなくて,
Debianから試験的パッケージ出てたんだね
だめならこっち試してみる
- 145 :デフォルトの名無しさん:2012/03/11(日) 00:02:07.11 .net
- --- a/src/gcc/config/i386/t-linux
+++ b/src/gcc/config/i386/t-linux
@@ -3,3 +3,5 @@
# t-slibgcc-elf-ver and t-linux
SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \
$(srcdir)/config/i386/libgcc-glibc.ver
+
+MULTIARCH_DIRNAME = i386-linux-gnu
- 146 :デフォルトの名無しさん:2012/03/22(木) 23:22:47.12 .net
- GCC 4.7.0 released [2012-03-22]
- 147 :デフォルトの名無しさん:2012/03/25(日) 01:22:03.60 .net
- __transaction_atomic の使い方がわからん
中に出てくる変数全部アトムボーイになるの?
- 148 :デフォルトの名無しさん:2012/03/25(日) 01:32:10.51 .net
- 超高速にシンタックスチェックだけしてくれるモードとか無い?
- 149 :はちみつ餃子 ◆8X2XSCHEME :2012/03/25(日) 01:40:49.49 .net
- lint 使えよ。
- 150 :デフォルトの名無しさん:2012/03/25(日) 11:27:59.90 .net
- >>148 -fsyntax-only
- 151 :デフォルトの名無しさん:2012/03/25(日) 21:53:44.63 .net
- 何の処理もせず、時間稼ぎをしたいとき、どのような方法がありますか?
例えば、キー入力を受け付けてから、5秒あけて、入力された内容を表示するという場合です
- 152 :デフォルトの名無しさん:2012/03/25(日) 21:54:50.20 .net
- sleep(5);
- 153 :デフォルトの名無しさん:2012/03/25(日) 22:58:58.43 .net
- >>147
gcc/testsuite/c-c++-common/tm/trxn-expr-2.c
- 154 :デフォルトの名無しさん:2012/03/25(日) 23:48:00.43 .net
- >>153
__transaction_atomic (a+b+c);
これがどう働くのかを聞いてるんだよ・・・
- 155 :デフォルトの名無しさん:2012/03/26(月) 00:25:25.52 .net
- >>154
噛み付かれても、俺もわからんのだけど
gcc gcc/testsuite/c-c++-common/tm/trxn-expr-2.c -S -fgnu-tm -O2
でもやって、自力で答え見つけたら
なんとなく、ポインターアクセス経由でやってるだけな感じだけど
(思ってる答えとは違うかもね)
- 156 :デフォルトの名無しさん:2012/03/26(月) 17:18:46.67 .net
- gcc (GCC) 4.8.0 20120316 (experimental)
- 157 :デフォルトの名無しさん:2012/03/27(火) 15:41:50.42 .net
- macportで入れたgcc46で
gcc-mp-4.6 -march=corei7 -E -v - </dev/null 2>&1 | grep cc1
としても、>.75のようではなく
-fPIC -mmacosx-version-min=10.6.8 -march=corei7 -m64
としかででないのですけど、march=corei7の効果はないということでしょうか?
corei7をcorei7-avxやcore2にしてもどうようです。nativeにしたときだけ>>75のようにでてきます。
- 158 :デフォルトの名無しさん:2012/03/27(火) 18:00:44.76 .net
- だって明示的にCPU指定したら命令セットは自明だろ
キャッシュサイズは個々に違うから指定されないわけで
- 159 :デフォルトの名無しさん:2012/03/27(火) 19:31:02.63 .net
- そうか。d
ということは、corei7でmarch=nativeやmarch=corei7を使うと、
mfpmath=sseを使う意味はないという理解で大丈夫ですか?
- 160 :デフォルトの名無しさん:2012/03/28(水) 13:32:02.99 .net
- >>159
定義済みマクロがあるやつは
cpp -march=core2 -dM < /dev/null | grep SSE
とかで分かるな
- 161 :デフォルトの名無しさん:2012/03/28(水) 18:27:01.41 .net
- 混乱中
manを読むと、-mavxは MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,SSE4.2 and AVXをサポートしているから
配布目的でなければ、-mmmxや-msseなどは付ける必要ないんだろうか?
>>75を見ると、-march=nativeをしたときには-mavxが自動的につくけど、
march=corei7-avxでは-mavxは自分で付けなければいけないということなのか?
うむむむ
- 162 :デフォルトの名無しさん:2012/03/28(水) 22:26:55.80 .net
- >>161
avxが有効だと__AVX__が1に定義されるから>>160でそれを調べたら分かるのでは
- 163 :デフォルトの名無しさん:2012/03/28(水) 22:33:05.99 .net
- >>161
-marchや-mtuneは-msseや-mavxみたいなオプションのセットという認識だけどな
nativeの場合はプロセッサのフラグを呼んで有効になっている機能を使おうとするから
msseみたいな物が個別につくのでは
例えばKVMとかで仮想CPUの場合に、物理CPUにある機能が一部無効になってると個別のオプションが変わったりする
- 164 :デフォルトの名無しさん:2012/03/28(水) 23:01:18.78 .net
- ぶっちゃけアセンブリ出力を見たらどうか
- 165 :デフォルトの名無しさん:2012/03/28(水) 23:51:52.73 .net
- {"corei7-avx", PROCESSOR_COREI7_64, CPU_COREI7,
PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3
| PTA_SSSE3 | PTA_SSE4_1 | PTA_SSE4_2 | PTA_AVX
| PTA_CX16 | PTA_POPCNT | PTA_AES | PTA_PCLMUL},
if (processor_alias_table[i].flags & PTA_AVX
&& !(ix86_isa_flags_explicit & OPTION_MASK_ISA_AVX))
ix86_isa_flags |= OPTION_MASK_ISA_AVX;
- 166 :営利利用に関するLR審議中@詳細は自治スレへ:2012/03/29(木) 12:06:21.03 .net
- SSEにしろAVXにしろ、OSが明示的に許可してないと使えないんだから
勝手に生成されたらまずいんでね
- 167 :営利利用に関するLR審議中@詳細は自治スレへ:2012/03/29(木) 12:20:20.92 .net
- 自分で指定しておいて勝手にとは如何に
- 168 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/09(月) 10:04:51.69 .net
- gcc -Q --help=target -march=corei7-avx
でわかるね
- 169 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/09(月) 15:45:06.79 .net
- 現在時刻を端末上で、
○時○分○秒
と表示させるにはどのような関数があるでしょうか?
環境はlinuxです。
- 170 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/09(月) 16:25:22.33 .net
- info gcc
そんな機能あるのか?
- 171 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/09(月) 16:38:51.56 .net
- >>169
このへんから
ttp://linuxjm.sourceforge.jp/html/LDP_man-pages/man2/settimeofday.2.html
- 172 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/09(月) 17:14:32.47 .net
- >>170
若干ずれるがcppに頑張っていただけば
#include <stdio.h>
int main(void)
{
puts(__TIME__);
}
- 173 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/09(月) 17:53:35.07 .net
- >>172
なるほど、それをcppの代わりにインストールすればいいのか。
- 174 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/09(月) 23:31:19.31 .net
- >>171
もうこんなの使うのやめなよ・・・
- 175 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/09(月) 23:35:48.24 .net
- >>174
最近の事情はよー知らんので教えて欲しいな、どこ見りゃいいの?
- 176 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/09(月) 23:50:52.52 .net
- >>175
下の方だよ
- 177 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/09(月) 23:52:15.40 .net
- >>175
POSIX.1-2008 marks gettimeofday() as obsolete, recommending the use of clock_gettime(2) instead.
って書いてある。
- 178 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/09(月) 23:54:59.95 .net
- >>177
ありがと
- 179 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/10(火) 09:02:00.63 .net
- clock_gettimeは致命的な遅さ
- 180 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/11(水) 00:27:36.86 .net
- >>179
じゃあどうすりゃいいんだよ!
- 181 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/11(水) 00:50:43.92 .net
- どうやって測ったのか知らんけど
遅いっていうのなら、glibcのソース見て、自前で実装するしかないでしょ
- 182 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/11(水) 07:08:36.38 .net
- get_wild関数で変数名がxyzです。
何が起こるでしょうか?
- 183 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/11(水) 07:31:21.19 .net
- >>181
つまりclock_gettimeは使わないという結論か
- 184 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/11(水) 14:43:38.38 .net
- >>183
time関係は遅いのかもしれんけど、今時の実行環境ならさほど問題になるようなことはない気がするけど
何をするかによっても関数の実行時間が問題になるかは変わってくるからね
- 185 :デフォルトの名無しさん:2012/04/12(木) 01:36:44.09 .net
- >>182
アスファルトにタイヤを切りつける
- 186 :デフォルトの名無しさん:2012/04/12(木) 12:34:06.48 .net
- >>182
プログラム「都市狩り」起動
- 187 :デフォルトの名無しさん:2012/04/12(木) 12:35:16.88 .net
- >>182
プログラム「都市狩り」起動
- 188 :デフォルトの名無しさん:2012/04/12(木) 22:37:53.88 .net
- >>182
恋人が交通事故死します。
- 189 :デフォルトの名無しさん:2012/04/15(日) 18:17:28.30 .net
- 冴羽遼は関係無いだろ
- 190 :デフォルトの名無しさん:2012/04/15(日) 20:46:36.79 .net
- じゃあ何ならいいんだ
- 191 :デフォルトの名無しさん:2012/05/03(木) 11:29:23.10 .net
- gccをビルドすると/usr/lib/に妙なperlかpythonのスクリプト(忘れた))が生成されるけど、あれ何するためのものなの?
- 192 :age:2012/05/03(木) 11:31:53.03 .net
- GCC4.7でIntelコンパイラーのように__Cilk命令がマージされたような話を聞いたけど、これ本当にマージされてるの?
どうやったら動くの?何か特殊なビルドオプション等が必要?
- 193 :デフォルトの名無しさん:2012/05/04(金) 00:57:31.93 .net
- ?-gdb.py
消しても問題みたいだけど
- 194 :デフォルトの名無しさん:2012/05/04(金) 01:00:40.04 .net
- 逝ってるなコンパイラは逝ってるなことやってるんだ
- 195 :デフォルトの名無しさん:2012/06/15(金) 15:53:57.15 .net
- 4.7.1
- 196 :デフォルトの名無しさん:2012/07/04(水) 18:10:06.71 .net
- system関数を使ってmpg123を呼び出し、
mp3ファイルを再生しようとしています。
そして、再生の途中で再生を終了させるにはどんな方法があるでしょうか?
端末からコマンドラインで直接打つ場合はctrl+cで止められますが、
ctrl+cと同じことをgccでやろうとしたらどうすればいいのでしょうか?
環境はlinuxです。
- 197 :デフォルトの名無しさん:2012/07/04(水) 18:37:19.91 .net
- systemはやめてfork-execでpidを得た後killすればいい
- 198 :デフォルトの名無しさん:2012/07/05(木) 12:04:38.02 .net
- >>196
popenとmpg123 -Rでやれば
- 199 :デフォルトの名無しさん:2012/07/24(火) 01:02:18.16 .net
- kill `ps | grep mpg123 | awk '{print $1;}'`
ってやるシェルスクリプトをsystemすればいいんじゃね?
- 200 :デフォルトの名無しさん:2012/07/27(金) 08:18:19.48 .net
- os xをマラにしたらgccが消えてしまいました。
どこへ行かれたのでしょうか?
- 201 :デフォルトの名無しさん:2012/07/27(金) 09:17:44.29 .net
- >>200
XcodeのメニューPreferencesからDownloadsタブのComponentsにあるCommand Line Toolsをインストールしれ
- 202 :デフォルトの名無しさん:2012/08/17(金) 02:08:45.92 .net
- gcc/config/i386/i386.cの
distance_non_agu_define_in_bb
の関数が
ヌルポで落ちることがあるぜえ
- 203 :デフォルトの名無しさん:2012/08/17(金) 14:31:42.91 .net
- つ bugzilla
- 204 :デフォルトの名無しさん:2012/08/17(金) 15:01:23.80 .net
- 自力で何とかしたから、そこまでやる気なし
- 205 :デフォルトの名無しさん:2012/08/17(金) 16:25:58.44 .net
- ちょっwww
- 206 :デフォルトの名無しさん:2012/08/17(金) 17:12:11.88 .net
- こうして不具合は残ったままになるのでした。おしまい。
- 207 :デフォルトの名無しさん:2012/08/17(金) 17:27:52.03 .net
- たまに、
引掛け?
みたいなことしてることあるし
- 208 :デフォルトの名無しさん:2012/08/17(金) 18:30:39.29 .net
- ヌルポでコンパイルが止まるだけ
君には見つけられるかって感じだからね
- 209 :デフォルトの名無しさん:2012/08/18(土) 13:29:25.72 .net
- gcc4.7.1+pthreads_win32でスレッドモデルposixでビルドすると、c++のプレコンパイルヘッダのmakeでこけます。
operator<でエラーで、どうやらptw32_handle_tが構造体だから比較できないってことらしい。
どなたか対処法などご存知ではないでしょうか?
- 210 :デフォルトの名無しさん:2012/08/18(土) 13:35:58.92 .net
- クラスにする
- 211 :デフォルトの名無しさん:2012/08/18(土) 15:02:52.41 .net
- おそらく文脈的にoperator<なんていらん所だろう
コンパイラが変な解釈してるだけと思う
- 212 :デフォルトの名無しさん:2012/08/18(土) 15:43:14.51 .net
- そっちかよw
pthreads_win32をやめるのがいいかと。
- 213 :デフォルトの名無しさん:2012/08/18(土) 20:40:29.10 .net
- >>212
無茶言うなよ・・・
- 214 :デフォルトの名無しさん:2012/08/18(土) 21:22:45.78 .net
- ここの3番
ttp://sourceforge.net/mailarchive/message.php?msg_id=26533137
- 215 :デフォルトの名無しさん:2012/08/18(土) 22:49:01.09 .net
- 楽しようとして、ハマりましたって、オチにならなきゃいいけどね
- 216 :デフォルトの名無しさん:2012/08/18(土) 23:08:57.58 .net
- >>214
サンクスです。
さっそく、試してみます。
- 217 :デフォルトの名無しさん:2012/08/30(木) 20:29:33.41 .net
- コンバイン1,2,3
状態
ありがと
- 218 :デフォルトの名無しさん:2012/09/03(月) 03:13:46.95 .net
- 単独行動できる仕掛けが
- 219 :デフォルトの名無しさん:2012/09/21(金) 03:07:46.70 .net
- 4.7.2
- 220 :デフォルトの名無しさん:2012/10/11(木) 22:53:24.71 .net
- ほしゅあげ
- 221 :デフォルトの名無しさん:2012/11/09(金) 02:16:10.23 .net
- ビルド時に内部エラーが出るとバックトレースしてくれるようになってるな
- 222 :デフォルトの名無しさん:2012/12/17(月) 08:18:28.87 .net
- forの中のx++をx+1とかx+2にすると無限ループになってしまいます。
x++以外にしたいときはどう書くのでしょうか?
linuxで4.4.5です(円記号は実際にはバックスラッシュです)
#include <stdio.h>
int main()
{
int x;
for(x=0; x<10; x++)
{
printf("%d\n",x);
}
return 0;
}
- 223 :デフォルトの名無しさん:2012/12/17(月) 08:20:09.02 .net
- >>222
x+=1 とか x+=2 とかにすればいいよ。
gcc 特有の事情でない話は C スレに行った方がいいよ。
- 224 :デフォルトの名無しさん:2012/12/18(火) 17:31:31.01 .net
- x = x++;
以来の衝撃を受けた気がする
- 225 :デフォルトの名無しさん:2012/12/19(水) 22:42:12.03 .net
- 沖林正紀 を超えたかも知れない
- 226 :デフォルトの名無しさん:2013/01/13(日) 11:32:27.35 .net
- mesてsh3のローカルバージョンなんだが、setjmp.hが無い。
longjmpの代わりになる方法とかないか?
- 227 :デフォルトの名無しさん:2013/01/13(日) 23:44:34.43 .net
- >>226
newlibあたりからもらってくればいいんでないかい
- 228 :デフォルトの名無しさん:2013/01/13(日) 23:56:49.15 .net
- gcc の新しい CPU 向けのポートの話はここでいいの?
- 229 :デフォルトの名無しさん:2013/01/14(月) 04:45:24.75 .net
- >>228 yes
- 230 :デフォルトの名無しさん:2013/01/14(月) 17:31:06.90 .net
- >227
なるほど。 とはいったものの、どうしたらいいのやら。
newlibのソースって当然ASMだろうな。mesのGCCですんなりコンパイルできる
だろうか?
- 231 :デフォルトの名無しさん:2013/01/14(月) 18:00:13.06 .net
- >>229
あれはふつーのsh-coffだろう
何も考えずにプロジェクトに入れちまえ
- 232 :231:2013/01/14(月) 18:00:54.52 .net
- すまん
s/229/230/
- 233 :デフォルトの名無しさん:2013/01/14(月) 18:35:07.31 .net
- 何を悩むことがあるのか分からん。
とりあえずnewlibをコンパイルしてみればいいじゃないか。SH4ということにして。
- 234 :デフォルトの名無しさん:2013/01/16(水) 01:59:09.30 .net
- newlib/libc/machine/sh/setjmp.S
- 235 :デフォルトの名無しさん:2013/01/20(日) 21:02:32.76 .net
- GDBについて聞きたいんだが、ファイルポインタなどで外部ファイルからパラメータを読み込むプログラムなんだけど
デバックする場合、エラーは起きる?それともこれがエラーの原因なんかな
- 236 :デフォルトの名無しさん:2013/01/20(日) 21:13:10.35 .net
- 日本語でok
- 237 :デフォルトの名無しさん:2013/01/20(日) 21:13:54.81 .net
- うーん、ダメやなGDBうまくわかってないから伝えられないな
すまんな
- 238 :デフォルトの名無しさん:2013/01/20(日) 21:16:38.64 .net
- ニシくんテクとして壊れたパーツもあえて保持するというテクがあるんやで
- 239 :デフォルトの名無しさん:2013/01/20(日) 21:17:21.02 .net
- gbk
- 240 :デフォルトの名無しさん:2013/01/20(日) 21:17:26.27 .net
- GDBの問題じゃないからね、それ
- 241 :デフォルトの名無しさん:2013/01/20(日) 21:27:31.25 .net
- プログラム的におかしいってことなんかな
コンパイル時にエラーは言われないんだけど、実行結果でエラー言われるんだよね
もう一度確認してみますわ
- 242 :デフォルトの名無しさん:2013/01/20(日) 21:31:35.73 .net
- scanfの使い方がおかしいだけでしょ
&のつけ忘れとか
- 243 :デフォルトの名無しさん:2013/01/20(日) 21:33:52.87 .net
- エスパーすげえな
SetFilePointerとデバッガで挙動が変わるのと何の関係が?としか思えなかったわ
- 244 :デフォルトの名無しさん:2013/01/20(日) 21:47:35.79 .net
- 書き方がおかしな所はコンパイル時にわかるけど
実行時の問題まで探してくれてるわけじゃないからね
- 245 :デフォルトの名無しさん:2013/01/20(日) 21:59:32.49 .net
- エスパーな質問なのに答えてくれてほんとありがとう
scanf確認したんですが&は一応ついてました
もう少し色々お聞きしたいのですが、C言語の話題になってしまいそうなのでC言語スレで聞いて見ようと思います
GDB自体は実際の実行と同じように動作すると分かって良かったでうs
- 246 :デフォルトの名無しさん:2013/01/22(火) 00:45:18.92 .net
- GCCVer3の最終版使うのとGCC最新版(Ver4)使うのではどっちが安定なんだろうか
- 247 :デフォルトの名無しさん:2013/01/22(火) 00:56:08.11 .net
- 対応したarchなら、コンパイルという動作はどっちも安定してるんじゃね
- 248 :デフォルトの名無しさん:2013/01/22(火) 09:26:59.11 .net
- 4の安定版使え。
- 249 :はちみつ餃子 ◆8X2XSCHEME :2013/01/22(火) 09:44:34.52 .net
- コンパイラ単体で見れば歴史の長い3の方が枯れていると言えるかもしれないけど、
そう単純なものでもないんだよね。
C++ABI がちょっと違ったりするので、今更3を使うのは問題の種になると思う。
と言うわけで私としては4を推す。
- 250 :デフォルトの名無しさん:2013/01/31(木) 20:15:33.81 .net
- short-enum な --taret=arm* な 4.6.4 で,
short-enam な --hist=arm* な 4.6.4 を作ろうとすると
色々まずいっぽいんだが, 既知の事実ですか?
- 251 :デフォルトの名無しさん:2013/01/31(木) 20:24:56.18 .net
- コンパイル時にしてするものでビルド時に指定するもんじゃないような
- 252 :デフォルトの名無しさん:2013/01/31(木) 20:36:24.41 .net
- >>251
やっぱそうなるか
じゃあ libgcc だけ, 単独に short-enum にできる安直な方法ってある?
- 253 :デフォルトの名無しさん:2013/01/31(木) 20:40:44.15 .net
- 4.7だと
libgcc/config/arm/t-linux
に仕込めばいいような
- 254 :デフォルトの名無しさん:2013/01/31(木) 20:43:16.98 .net
- もしくは
make CFLAGS_FOR_TARGET="-g -O2 -fomit-frame-pointer" CXXFLAGS_FOR_TARGET="-g -O2 -fomit-frame-pointer"
な感じか?
- 255 :デフォルトの名無しさん:2013/03/06(水) 23:53:27.37 .net
- たのもう
gcc 4.7.2 のコンパイルでつまづいてる (gmp 5.1.1、mpfr 3.1.1、mpc 1.0.1 はコンパイルできた)
../configure --enable-languages=c,c++ --enable-bootstrap --enable-shared --enable-threads=posix \
--enable-checking=release --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object \
--disable-dssi --disable-multilib --with-gmp-lib=/usr/local/lib64 --with-mpfr-lib=/usr/local/lib64 \
--with-mpc-lib=/usr/local/lib64 --without-ppl --with-tune=generic
の後の make 実行したら mkdir -p -- x86_64-unknown-linux-gnu/libgcc のあるフェーズで、
checking for suffix of object files... configure: error: in `/w/gcc/gcc-4.7.2/build/x86_64-unknown-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
とか言われた
x86_64-unknown-linux-gnu/libgcc/config.log には
configure:3344: /w/gcc/gcc-4.7.2/build/./gcc/xgcc -B/w/gcc/gcc-4.7.2/build/./gcc/ -B/usr/local/x86_64-unkn
own-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gn
u/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include -V >&5
xgcc: error: unrecognized command line option '-V'
とか出てるんだけど、何が悪いかわかる人いたら教えてくらさい
ただし英語のドキュメントは読めない
- 256 :デフォルトの名無しさん:2013/03/06(水) 23:56:04.33 .net
- ちなみに OS は CentOS 5.3 x86_64 でございますれば
他に補足の情報が必要であれば指摘ください
- 257 :デフォルトの名無しさん:2013/03/07(木) 00:20:28.62 .net
- command line option とみなされてるのが問題なんだろ
shell 変えてみるとか
- 258 :デフォルトの名無しさん:2013/03/08(金) 09:11:55.41 .net
- うーん、sh、csh、ksh、bash を試しましたが変化ありませんなあ・・・orz
- 259 :デフォルトの名無しさん:2013/03/09(土) 02:46:26.94 .net
- -Vを消しちゃえばいいやん
- 260 :デフォルトの名無しさん:2013/03/09(土) 13:30:08.59 .net
- >>255
同じような症状で
--disable-libquadmath
つけたら通った
- 261 :デフォルトの名無しさん:2013/03/11(月) 04:33:46.70 .net
- 'unrecognized' command line optionでxgccのエラーだぜ、ってことで>>257はおかしい
xgccってのはまさにいま作ってる最中のgccで、そいつが-Vを受け付けてない(手元のgccで試したら確かに4.7系は-Vを受け付けない)
-Vの出力から'compute suffix of object files'をしようとしてるんだから>>259もおかしい
エラーはlibgccのconfigureで起きてるっぽいので>>260もどうかなあ
つーことで、configureのその行の前後にxgcc -B中略 -Vの結果を加工して
suffix of object files(たぶん.o)をどっかの変数に入れてるところがあるはずなんで
その辺書き換えて直接.oをセットしてしまえばいいと思う
環境差かなんかで普通入り込まない過去のgcc互換かなんかの分岐に入ってしまってるんだろう
と予想、外れてたらごめん
- 262 :デフォルトの名無しさん:2013/03/11(月) 05:49:25.22 .net
- たぶん、glibc-develあたりのパッケージが入ってないような
# yum groupinstall "Development Tools"
をやれば、いいような
- 263 :257:2013/03/11(月) 07:03:51.09 .net
- >>262
漏れも最初にそう思ったんだけど、
わざとボケてみたんだ。
ごめん。
- 264 :デフォルトの名無しさん:2013/03/11(月) 09:38:08.17 .net
- 俺も俺も
- 265 :デフォルトの名無しさん:2013/03/17(日) 14:29:39.93 .net
- すいません、これでできました
su
mkdir /w; mkdir /w/gcc; cd /w/gcc
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.7.2/gcc-4.7.2.tar.bz2
wget ftp://ftp.gmplib.org/pub/gmp/gmp-5.1.1.tar.bz2
wget http://www.mpfr.org/mpfr-current/mpfr-3.1.2.tar.bz2
wget http://core.ring.gr.jp/pub/GNU/mpc/mpc-1.0.1.tar.gz
tar xvfj gcc-4.7.2.tar.bz2
tar xvfj gmp-5.1.1.tar.bz2
tar xvfj mpfr-3.1.2.tar.bz2
tar xvfz mpc-1.0.1.tar.gz
mkdir gcc-4.7.2/build
mkdir gmp-5.1.1/build
mkdir mpfr-3.1.2/build
mkdir mpc-1.0.1/build
cd gmp-5.1.1/build
../configure --enable-cxx
make
#make install
cd ../../mpfr-3.1.2/build
../configure
make
#make install
cd ../../mpc-1.0.1/build
../configure
make
#make install
cd ../../gcc-4.7.2/build
../configure --enable-languages=c,c++ --enable-cxx --with-newlib --disable-multilib --enable-threads=posix --with-tune=amdfam10
export LD_LIBRARY_PATH=/usr/local/lib64
make
#make install
- 266 :デフォルトの名無しさん:2013/03/17(日) 15:08:52.01 .net
- あ、↑の #make install は make install でございますれば
で、
../configure --enable-languages=java --with-newlib --disable-multilib --enable-threads=posix --disable-bootstrap
とするとコケて、どうしても Java コンパイラが作れないです
libtool: compile: /w/gcc/gcc-4.7.2/build_java/./gcc/xgcc -shared-libgcc
---snip---
java/net/.deps/natVMInetAddress.Tpo -c java/net/natVMInetAddress.cc -fPIC -DPIC -o java/net/.libs/natVMInetAddress.o
java/net/natVMInetAddress.cc:42:52: error: declaration of C function ‘int gethostname(char*, int)’ conflicts with
In file included from java/net/natVMInetAddress.cc:12:0:
/usr/include/unistd.h:845:12: error: previous declaration ‘int gethostname(char*, size_t)’ here
make[3]: *** [java/net/natVMInetAddress.lo] Error 1
Web 検索しても、なぜかコケて回避できないみたいな記述があったような無かったような
- 267 :デフォルトの名無しさん:2013/03/17(日) 15:44:56.69 .net
- あー、
../configure --enable-languages=java --disable-multilib --disable-bootstrap
にしたらコンパイルできますた
が、実際に .java ファイルをコンパイルしようとすると
gcc: error trying to exec 'ecj1': execvp: No such file or directory
とか怒られる
ググったらこんな感じ
http://barutan.s296.xrea.com/cgi-bin/tdiary/?date=20100220#p04
お手上げでしょか?
- 268 :デフォルトの名無しさん:2013/03/17(日) 16:31:58.39 .net
- ecj1って、eclipse関連のパッケージみたいだね。
https://launchpad.net/ubuntu/+source/ecj/3.5.1-6
- 269 :デフォルトの名無しさん:2013/03/17(日) 16:41:06.65 .net
- GCJ使うのが目標だったのね。
ディストリビューションのspecファイル参考にするといいんじゃないかな。
- 270 :デフォルトの名無しさん:2013/03/20(水) 09:53:14.28 .net
- 4.8.0リリース?
- 271 :デフォルトの名無しさん:2013/03/20(水) 19:02:05.70 .net
- リリースアナウンス出てないからまだだろう
- 272 :デフォルトの名無しさん:2013/03/21(木) 12:32:55.08 .net
- gcc 4.8.0をmakeしようとしたらこんなの出ました。
この前にmakeをビルドしたのですが、makeのビルドに失敗したって意味でしょうか?
http://www.07ch.net/up2/src/lena8828.png
- 273 :デフォルトの名無しさん:2013/03/21(木) 16:35:57.64 .net
- makefileの1〜6行目を晒すとか
- 274 :デフォルトの名無しさん:2013/03/21(木) 16:42:10.00 .net
- makeで始める行はmakeコマンドが出力してる。[n]はネストの深さ。
エラーが起きているのはシェルにコマンド行で渡して実行させているコード。
EOFが出てるのは、Win32上で有名な
> [Please ignore a syntax error on the next line - it is intentional]
じゃないんだな。この部分は出てないので。
- 275 :デフォルトの名無しさん:2013/03/21(木) 19:49:40.74 .net
- http://www.07ch.net/up2/src/lena8830.png
すみません。今見たらbuild/libiberty/config.logにNo such file or directoryと書いてありました。
ぐぐってみます。
ありがとうございました。
- 276 :275:2013/03/22(金) 11:21:05.10 .net
- しつこくてすみません
MinGWにpthreadsをインストールしてgcc 4.8.0をコンパイルしようとしたのですが、sys/systemcfg.hが無いといわれて
ググったのですが、見当たらないのでwinpthreadsをコンパイルしようとしたのですが、makeでエラーになります。
http://www.07ch.net/up2/src/lena8836.png
configureもmakeも改変せずにビルドしているのですが、makeが存在していないファイルを作ろうとしていてmakefileに問題があるのでしょうか?
- 277 :デフォルトの名無しさん:2013/03/22(金) 13:45:00.07 .net
- windowsでは無理
- 278 :デフォルトの名無しさん:2013/03/23(土) 01:57:39.27 .net
- GCC 4.8.0 released [2013-03-22]
- 279 :275:2013/03/23(土) 10:20:20.80 .net
- しつこくてすみません
make[1]: *** `src/libwinpthread_la-barrier.lo' に必要なターゲット `src/.dirstamp' を make するルールがありません. 中止.
make: *** [all] エラー 2
となるんですがmakefileの該当部分は
libdummy.la: $(libdummy_la_OBJECTS) $(libdummy_la_DEPENDENCIES)
$(LINK) $(libdummy_la_OBJECTS) $(libdummy_la_LIBADD) $(LIBS)
src/$(am__dirstamp):
@$(MKDIR_P) src
@: > src/$(am__dirstamp)
src/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) src/$(DEPDIR)
@: > src/$(DEPDIR)/$(am__dirstamp)
src/libwinpthread_la-barrier.lo: src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
これでは.dirstampは作れていないのでしょうか?
- 280 :275:2013/03/23(土) 10:27:04.93 .net
- くっつけるerr.logを間違えました上の部分のエラーログは
process_begin: CreateProcess(NULL, /bin/mkdir -p src, ...) failed.
make (e=2): 指定されたファイルが見つかりません。
make[1]: *** [src/.dirstamp] エラー 2
make: *** [all] エラー 2
こちらです
- 281 :275:2013/03/23(土) 10:57:48.87 .net
- cd src
touch .dirstamp
cd .deps
touch .dirstamp
したらmakeできました
お騒がせしました
- 282 :デフォルトの名無しさん:2013/03/25(月) 12:34:35.28 .net
- 4.8で動かなくなる奴たくさんありそうだな
普通の実行順序で考えると動きそうだし
たまたまローカル変数ですべて収まってたから、
過度に最適化されたのかな?
- 283 :デフォルトの名無しさん:2013/03/25(月) 12:48:29.38 .net
- SPECのコードが壊れた話?
C言語は高級アセンブラで、思った通りの機械語コードを吐いてくれる、
なんてのが昔話だと、いい加減みんな認識すべきなんだな。
現代のC言語は、最適化オプション付けていて、未定義を踏んでたら
悪魔と契約してでも最適化を掛けてくるもんだ、と思うべき。
- 284 :デフォルトの名無しさん:2013/03/25(月) 12:53:58.03 .net
- 日本語でどうぞ
- 285 :デフォルトの名無しさん:2013/03/25(月) 13:01:18.08 .net
- 壊れるようなコードを書いているやつが悪い
- 286 :デフォルトの名無しさん:2013/03/25(月) 13:26:59.99 .net
- >>284
このスレでこの程度のジャーゴンもわからないとか。
- 287 :デフォルトの名無しさん:2013/03/25(月) 13:55:39.89 .net
- >>286
単語の問題ではなく文法の問題では?
- 288 :デフォルトの名無しさん:2013/03/25(月) 14:46:33.36 .net
- brokenな日本語でも日本語の話者ならば補って理解できる。
- 289 :デフォルトの名無しさん:2013/03/25(月) 21:04:51.78 .net
- 実行される可能性がある未定義動作のコードが一行でも混じっていれば
そのプログラムは起動直後からソースコードを一切無視してどういうふるまいをしても構わない。
過度の最適化ではない。
- 290 :デフォルトの名無しさん:2013/03/25(月) 22:16:03.70 .net
- >>286
底辺職種に従事している人が多いからね
そんな奴は脳レベルが低すぎてbrokenな日本語は理解不能
- 291 :デフォルトの名無しさん:2013/03/25(月) 23:31:42.31 .net
- 罵倒遊びも飽きた
- 292 :デフォルトの名無しさん:2013/03/28(木) 12:01:59.57 .net
- 4.8、動かない以前にビルド通らんのが出てきたぞ
バージョン上がる度に型チェック厳しくなる一方だぜ
- 293 :デフォルトの名無しさん:2013/04/02(火) 05:44:55.99 .net
- http://gcc.gnu.org/projects/cxx0x.html
Rvalue references for *this : GCC 4.8.1
- 294 :デフォルトの名無しさん:2013/04/06(土) 15:49:25.58 .net
- fast-mathオプションをつけるとisnanが機能しなくなるのだけど、何かいい手はない?
- 295 :デフォルトの名無しさん:2013/04/06(土) 16:06:06.33 .net
- そのファイルだけfast-mathを外してコンパイルする。
と、どうなるか試してほしい。
- 296 :デフォルトの名無しさん:2013/04/06(土) 16:45:32.27 .net
- fast-mathつけなければ大丈夫。
fast-mathをつけると、isnan以外にも、a != aで判定する方法もダメ。
何かいい方法ないかな
- 297 :デフォルトの名無しさん:2013/04/06(土) 16:57:51.17 .net
- -ffast-math をばらして必要なオプションだけを指定してみたら?
-ffast-math
Sets -fno-math-errno, -funsafe-math-optimizations,
-fno-trapping-math, -ffinite-math-only, -fno-rounding-math, -fno-signaling-nans and fcx-limited-range.
- 298 :デフォルトの名無しさん:2013/04/06(土) 22:18:43.85 .net
- -ffast-math -fno-finite-math-only の併用でok
- 299 :デフォルトの名無しさん:2013/04/08(月) 21:00:04.38 .net
- 4.8ビルドしようとするとgccでintl-printと__printf__が不明と怒られる
仕方ないのでconfig.hに#include <libintl.h>を書き足すと>>255と同じ事
言われて怒られる、しかしgmp等はインスト済み
これってx64のライブラリ以外にx86のライブラリも必要って事なのかな?
- 300 :デフォルトの名無しさん:2013/04/08(月) 22:29:24.61 .net
- コマンドラインまで >>255 と同じなら
× --with-gmp-lib=/usr/local/lib64
○ --with-gmp=/usr/local
mpfr,mpc も同様
- 301 :デフォルトの名無しさん:2013/04/08(月) 23:18:38.75 .net
- レスありがとう!
んでも
64ビットのWindowsおよびgccだけSJLJ例外の32ビットベースのmultilibの
バージョンについては#エラーがサポートされています。
って怒られた。。。ウチの環境はWin7x64、gccはTDM64です
configureはこれ
LIBS="-lintl -liconv " ../gcc-4.8-20130404/configure --prefix=/usr/gcc \
--build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 \
--with-tune=generic --enable-threads=posix --disable-multilib --enable-static \
--enable-languages=c,c++,objc,obj-c++ --enable-libgomp --disable-sjlj-exceptions \
--with-dwarf2 --enable-version-specific-runtime-libs --disable-win32-registry \
--disable-werror --disable-nls --enable-lto --with-system-zlib \
--enable-libstdcxx-debug --enable-cxx-flags='-fno-function-sections -fno-data-sections' \
--enable-fully-dynamic-string --disable-libstdcxx-pch --disable-bootstrap \
--with-mpc-lib=/usr/tool/lib --with-mpc-include=/usr/tool/include \
--with-mpfr-include=/usr/tool/include --with-mpfr-lib=/usr/tool/lib \
--with-gmp-include=/usr/tool/include --with-gmp-lib=/usr/tool/lib \
--with-cloog-include=/usr/tool/include --with-cloog-lib=/usr/tool/lib \
--with-isl-include=/usr/tool/include --with-isl-lib=/usr/tool/lib
--disable-multilibを消しても、やっぱりx64云々で蹴られますた
ってかconfigureのログ見てると、intl=ok, iconv=okって言ってるのになんで
intlの関数が不明って言われるのかなあ。
- 302 :デフォルトの名無しさん:2013/04/08(月) 23:45:08.36 .net
- 消すなら --disable-multilib ではなくて --disable-sjlj-exceptions だろjk
あと、もし binutils を一緒にビルドしようとして、
gcc のフォルダ内に binutils/{なんやらかんやら} へのリンクを張ってるなら、
両者に共通のライブラリが、バージョン違って失敗するかも
- 303 :デフォルトの名無しさん:2013/04/09(火) 00:07:40.47 .net
- 消したけどダメ。。
ターゲット・ホスト・ビルドのx86_64-w64を消さないとどうしても
「はぁ?x64?」みたいな事言われるので消して、それでもintlで文句言われて
config.hに<linintl.h>書き加えてビルド進めるとlibgccで
Assembler messages:
Error: invalid instruction suffix for `push'
アセンブラ関連のエラーだと思うんだけど、ターゲットをx86_64-w64にすると怒
られ、libintlで怒られ…gccサイトのQ&A見ても「我々は悪くない、文句言われる
テメーが悪い」みたいな事書いてあるし。。。。
もうネルソン!
- 304 :デフォルトの名無しさん:2013/04/09(火) 22:43:32.74 .net
- やっとでけたあああ
七誌さんそして>>300ありがとう!
一応手順
gcc用のディレクトリを作成、binutilsをビルド→インストール
gccをコンパイラのみビルドしてinstall-gcc
ここでmsys上のmingwを今作ったgccに切り替え
mingw-w64ランタイムをヘッダのみビルド→インストール
ランタイムをビルド→インストール
gccの残りをビルド→インストール
今まで通常使ってるmingwだけでビルドしようとしてたのが間違ってた?っぽい
- 305 :デフォルトの名無しさん:2013/04/09(火) 22:49:25.32 .net
- なんだかよく分からなかったけど強引に潰したエラー、3件
1.↓って言われる
i386/cygming.h:358:2: error: #error For 64-bit windows and 32-bit based multilib version of gcc just SJLJ exceptions are supported.
i386/mingw32.h:101:2: error: #error DW2 unwind is not available for 64-bit.
i386/cygming.h:358:2: error: #error For 64-bit windows and 32-bit based multilib version of gcc just SJLJ exceptions are supported.
i386/mingw32.h:101:2: error: #error DW2 unwind is not available for 64-bit.
i386/cygming.h:358:2: error: #error For 64-bit windows and 32-bit based multilib version of gcc just SJLJ exceptions are supported.
i386/mingw32.h:101:2: error: #error DW2 unwind is not available for 64-bit.
コメントアウト
2.
intl_printが不明
config.hに<libintl.h>を書き足す
3.
libstdc++-v3/include/bits/basic_string.hでエラー
call googleで外人さんのパッチをクローン
+++ ./libstdc++-v3/config/os/mingw32-w64/os_defines.h
+#include <_mingw_mac.h>
+#if !defined (__MINGW64_VERSION_MAJOR) || (__MINGW64_VERSION_MAJOR < 3)
#define _GLIBCXX_HAVE_BROKEN_VSWPRINTF 1
+#endif
3は、なんだか公式のmingw32使えみたいな事言ってた気がするけど1.2が分からんち
特に2番、なんでヘッダを要求されるのか。公式になんか書いても怖い人しかいないよう
な雰囲気なので聞けない。。。
グダグダ書いたけど結局は>>302のbinutils云々がヒントになってビルド出来た、ありがとね
- 306 :デフォルトの名無しさん:2013/04/09(火) 23:22:10.38 .net
- 追記:libintlがぶっこわれてた
今までどうやってビルド通ってたんだろ・・・・・・・・・
- 307 :デフォルトの名無しさん:2013/04/10(水) 12:19:18.40 .net
- 馬鹿には無理
- 308 :デフォルトの名無しさん:2013/04/13(土) 12:00:07.40 .net
- ネタじゃないので聞いてください。
一番最初のgccはどのようにコンパイルされたのですか?
- 309 :デフォルトの名無しさん:2013/04/13(土) 13:04:09.04 .net
- 別のコンパイラを使う。UNIXのccとか。
歴史の話じゃなくて実用的な意味でどうするかといえば、
オフィシャルでバイナリのgccが配布されているのでそれを使う。
- 310 :デフォルトの名無しさん:2013/04/13(土) 13:12:18.33 .net
- 最初のGCCはCで書かれていたわけでは無いらしい
- 311 :デフォルトの名無しさん:2013/04/13(土) 13:13:20.52 .net
- ネタじゃないので聞いてください。
一番最初のccはどのようにコンパイルされたのですか?
- 312 :デフォルトの名無しさん:2013/04/13(土) 13:25:22.63 .net
- 最初のコンパイラは機械語で書いた
- 313 :デフォルトの名無しさん:2013/04/13(土) 14:56:44.41 .net
- 最初のコンパイラはA-0 Systemらしい。
- 314 :デフォルトの名無しさん:2013/04/13(土) 18:04:08.51 .net
- gccをどうやってコンパイルするかを勉強してると
そのあたりまで平然と遡らされるよな
- 315 :デフォルトの名無しさん:2013/04/13(土) 18:20:46.26 .net
- Z80アセンブラをN88-BASICで実装しようとしたのは良い思い出…
- 316 :デフォルトの名無しさん:2013/04/13(土) 23:18:45.40 .net
- >>311
> 一番最初のccはどのようにコンパイルされたのですか?
当時一般的に使われていた, Unix 上の PCC 互換コンパイラでコンパイルされたんだが,
なんか問題あるの?
- 317 :デフォルトの名無しさん:2013/04/14(日) 00:00:12.33 .net
- >>316
どこまで遡れるか大会だろ空気嫁よ
- 318 :デフォルトの名無しさん:2013/04/14(日) 05:34:33.84 .net
- ネタじゃないので聞いてください。
一番最初のアセンブラはどのようにアセンブルされたのですか?
- 319 :デフォルトの名無しさん:2013/04/14(日) 05:50:10.27 .net
- ネタじゃないならアセンブラスレで訊きましょう
- 320 :デフォルトの名無しさん:2013/04/14(日) 10:08:15.61 .net
- 2chは優秀な技術者が議論する場所
- 321 :デフォルトの名無しさん:2013/04/14(日) 10:54:15.95 .net
- >>318
ハンドアセンブル
- 322 :デフォルトの名無しさん:2013/04/14(日) 11:37:22.44 .net
- multilib有効にしてGCCビルドしたら、ライブラリビルドでldちゃんが
32ライブラリに64libを合体させてしまいまする
export -m32 -L/lib32 とかにしても言う事を聞いてくれませぬ
ググっても、バカには無理みたいな風潮
TDMとか、どうやってmultilibなGCCビルドしてるんだろ?
- 323 :デフォルトの名無しさん:2013/05/08(水) 21:32:17.28 .net
- gccの2.95.3なんですが、
gccがコンパイルされたときの./configureに渡された設定など
調べる方法は無いでしょうか?
- 324 :デフォルトの名無しさん:2013/05/09(木) 02:22:37.84 .net
- gcc -vは?
どうでもいいことだが、なぜそんな化石を使うのか聞いてみたい
- 325 :デフォルトの名無しさん:2013/05/22(水) 15:12:42.53 .net
- gccで、以下のような情報を得るためのコマンドラインオプション、あるいは
ツール・手段はありませんでしょうか?
知りたいのは、どういう過程でライブラリがリンクされているかです。
例えば、main.cでprintf()が使われている時、
(1) main.o には未解決のシンボル'printf'がある
(2) 未解決シンボル'printf'を解決するため、libc.a 内の lib_a-printf.o をリンクした
(3) さらに lib_a-printf.o には未解決のシンボル'vfprintf'がある
(4) 未解決シンボル'vfprintf'を解決するため、libc.a 内の lib_a-vfprintf.o をリンクした
(5) さらに lib_a-vfprintf.o には未解決のシンボル・・・・
:
のような情報が得たいのです。
目的は、組み込み用でコードサイズ小さくしたい場合に、想定外のライブラリがリンク
されているような場合、何が起点になっているかを調べるためです。
(例えば、標準入出力は使ってないのに標準入出力関係のライブラリがごっそりリンクさ
れてしまう場合に、sprintf()→vfprintf()→・・・と、sprintf()を使っているのが原因
であることを知りたい)
-Wl,--verbose は試してみましたが、ダメでした。
- 326 :デフォルトの名無しさん:2013/05/22(水) 15:23:31.68 .net
- man(2)
- 327 :デフォルトの名無しさん:2013/05/22(水) 15:25:10.67 .net
- lint
- 328 :はちみつ餃子 ◆8X2XSCHEME :2013/05/22(水) 16:31:27.29 .net
- >>325
スマートリンクを使った方がてっとりばやいんじゃね?
- 329 :325:2013/05/22(水) 19:12:38.41 .net
- >>328
レス、ありがとうございます。
スマートリンクもコードサイズ削減に効果が無くはありませんが、(newlibは結構細かく
ソースが分けてあるので)効果は小さいと思われます。
例えば、newlibの場合newlib内で使用する静的変数を(マルチスレッド対応等が容易なよ
うに)_reent構造体にまとめてありますが、これをリンクするような関数を一つでも使用
してしまうと_reent構造体に関連する関数が多数リンクされ、コードサイズが肥大します。
これは(実行時に呼ばれることは無くても)未定義シンボル解決には必要であり、
-Wl,--gc-sectionsでは防止できません。
コードサイズの肥大の起因となるライブラリ関数が(質問に記述のように)特定でき、これ
がごく少数なら、この関数を使用しないようにプログラムを書き換えてしまえ、という
わけです。
- 330 :デフォルトの名無しさん:2013/05/22(水) 19:16:10.03 .net
- gccじゃなくてリンカの仕事
例えばAppleのldなら-why_liveとかあるから、とりあえずman ld
- 331 :デフォルトの名無しさん:2013/05/22(水) 19:58:13.29 .net
- 使ってる*.oをnmして未定義シンボルをリストして、
シンボルがどの*.aで定義されてるかnmして調べて、
*.aをar xして*.oにしてnmして、
以下収束するまで繰り返し。
多分機械的に出来るんじゃないか?
Cの場合、使われる*.aは引数で与える必要があって、
最初から全リストが分かってるわけだし。
- 332 :325:2013/05/22(水) 20:31:03.39 .net
- >>330
誤解を招く文章ですいません、ld(binutils)を含めてgccと書いていました。
-why_live(https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/ld.1.html)
はまさに欲しているものでしたが、使用しているld(GNU ld version2.15 arm-elf/cygwin
のクロス環境)には実装されていないようでした。
* ld.info(manがなかったので)
* arm-elf-ld --help
* http://sourceware.org/binutils/docs-2.15/ld/Options.html#Options
で、why/live/chain/refferenceなどのキーワードで探してみましたが、同等のものは
見つけられませんでした。
>>331
はい、その方法(それを行うツールの作成)は最後の手段として考えています・・・
- 333 :デフォルトの名無しさん:2013/05/22(水) 21:59:40.34 .net
- ld --help
--cref 相互参照表を出力する
-Wl,--cref
- 334 :325:2013/05/23(木) 12:04:25.97 .net
- >>332
ありがとうございます。
--crefで目的を達せそうです。
- 335 :デフォルトの名無しさん:2013/06/01(土) 20:00:59.98 .net
- cygwinで gcc 4.8.1 コンパイルしたけど、エラーが2つでてインスコできんわ・・orz
- 336 :デフォルトの名無しさん:2013/06/02(日) 11:49:35.35 .net
- gcc -S -g で出力されるアセンブルコード中の.locの情報を
該当するCソースに置換するフィルタはどこかで公開してませんか?
- 337 :デフォルトの名無しさん:2013/06/02(日) 23:36:32.81 .net
- as --help
-a[sub-option...] turn on listings
Sub-options [default hls]:
c omit false conditionals
d omit debugging directives
g include general info
h include high-level source
l include assembly
m include macro expansions
n omit forms processing
s include symbols
=FILE list to FILE (must be last sub-option)
gcc -c -O2 hoge.c -Wa,-ahls=hoge.lst
- 338 :336:2013/06/03(月) 10:32:13.74 .net
- >>337
ありがとう。それに-gつけたら出来ました。
- 339 :デフォルトの名無しさん:2013/06/13(木) 05:42:57.74 .net
- gcovの使い方の質問ここでしたらスレチですか?
- 340 :デフォルトの名無しさん:2013/06/13(木) 11:06:32.53 .net
- profとかcovはいいんじゃない?
- 341 :デフォルトの名無しさん:2013/06/14(金) 00:47:14.15 .net
- ではお言葉に甘えて。
カバレッジを調べるためgcovすると自分のソース以外の
iostream.gcovとかも大量にできてしまいます。
これを指定のディレクトリ以外は生成しないようにできないものでしょうか?
今のところ-pをつけてファイルを生成し必要のないフォルダのものをrmで消してます。
- 342 :デフォルトの名無しさん:2013/06/14(金) 01:08:14.99 .net
- gcov --help
-o, --object-directory DIR|FILE オブジェクトファイルを DIR 内または呼び出し用 FILE 内で検索する
- 343 :341:2013/06/15(土) 01:10:38.28 .net
- >>342
使い方が間違っているのか期待した結果になりませんでした。
srcディレクトリに.h / .ccがあるので -o src と指定しましたがiostream.gcovは生成されました。
objディレクトリに .o があるので -o obj と指定すると
obj/test.gcno:cannot open graph file
といったエラーが表示されます。そこでobjにtest.gcnoをmvすると処理は通りますが
相変わらずiostream.gcovは生成されます。
ただlcovすると.gcovは消えるので気にしなければ済む問題かもしれません。
- 344 :デフォルトの名無しさん:2013/08/06(火) NY:AN:NY.AN .net
-
- 345 :デフォルトの名無しさん:2013/09/13(金) 23:40:52.15 .net
- プリプロセッサの話ってここで大丈夫?スレチだったら流して
gccの-EオプションでCライクな言語のプリプロセスかけてるんだけど、そのマクロの記述で
#define get_pi(data) (6'(data)<<3)って感じの記述してて、
これの ' の部分が文字データ記述の開始として扱われてdataが置き換わらないんだけど、対策ないですかね?
- 346 :デフォルトの名無しさん:2013/09/14(土) 00:07:31.67 .net
- SystemVerilogかね?
#define s '
#define get_pi(data) (6 s (data)<<3)
空白が入るけど動くよ。警告も出るけど。
規格上問題ないか、どのGCCバージョンでも動くかは分からん。
- 347 :デフォルトの名無しさん:2013/09/14(土) 00:25:12.48 .net
- >>346
返信ありがとう御座います!
早速試したら出来ました。けどなぜ動くのかわからない…
因みに使ってるのNSLという言語です。ハードウェア記述言語なのは一緒ですかね
- 348 :デフォルトの名無しさん:2013/09/14(土) 00:39:13.04 .net
- >>347
dataが置換された後に再走査されてsが置換されるから動く。
だから#define s ' が動けば、問題なく動く。
- 349 :デフォルトの名無しさん:2013/09/14(土) 00:48:05.09 .net
- >>348
プリプロセッサってプロトタイプ宣言みたいに上から順に〜ってわけではないのか。一緒だと思ってました
- 350 :デフォルトの名無しさん:2013/09/14(土) 04:44:31.37 .net
- gcc4.9のtrunk版、3ヶ月くらいプラグマバグでビルド出来なかったんだけどようやく修正された
- 351 :デフォルトの名無しさん:2013/09/14(土) 10:36:33.97 .net
- >>349
いやいや、上から順で正しい。再走査はマクロ展開時の話だよ。
マクロ引数dataが展開された後に、その結果に対して再走査されて
普通の地の文と同じようにsがマクロ展開される。
最初のやつがうまく動かないのは、Cプリプロセッサは文字置き換えでなくて
トークンを置きえるから。
(6'(data)<<3) は (, 6, '(data)<<3) という3つのトークンになってしまう。
- 352 :デフォルトの名無しさん:2013/09/14(土) 13:34:26.01 .net
- プリプロセッサなんて自作しちゃいなよ
- 353 :デフォルトの名無しさん:2013/09/17(火) 16:30:56.00 .net
- 正確に標準に従ったcppを作るのは案外大変だぞ?
- 354 :デフォルトの名無しさん:2013/09/24(火) 00:04:00.29 .net
- >>345
- 355 :デフォルトの名無しさん:2013/11/04(月) 10:16:18.31 .net
- dev/nullを出力先に指定するとscanfなどで入力した内容が表示されなくなるという噂を聞きました
どのように指定すると良いか教えてください
- 356 :デフォルトの名無しさん:2013/11/04(月) 10:35:57.62 .net
- >>355
入力した内容なら、必要に応じて"/dev/stderr"(stderr)にでも出力すればいいじゃん。
- 357 :デフォルトの名無しさん:2013/11/04(月) 19:25:05.12 .net
- >>355
scanf を実行する前に標準出力を /dev/null につけかえるのでは、pipe(), pipe2() とかで?
- 358 :デフォルトの名無しさん:2013/11/04(月) 19:39:51.62 .net
- >>357
意味不明
- 359 :デフォルトの名無しさん:2013/11/04(月) 21:46:42.94 .net
- >>357
はい、そのとおりです。
- 360 :デフォルトの名無しさん:2013/11/05(火) 14:08:37.22 .net
- >>357
pipe2はlinux専用関数だがな
- 361 :デフォルトの名無しさん:2013/11/05(火) 17:17:29.77 .net
- >>360
ウイーンドーズにも/dev/nullがあるんですか?
- 362 :デフォルトの名無しさん:2013/11/05(火) 17:20:56.19 .net
- Windows だと NUL だろ。
- 363 :デフォルトの名無しさん:2013/11/05(火) 21:07:31.14 .net
- 察するに、パスワード入力ではechoさせたくないとかそれ系の話だろ?
普通はtermiosやSetConsoleModeでやることで、標準出力を/dev/nullに付け替えるなんて教えた奴は凄いんだか意地悪なんだか
- 364 :デフォルトの名無しさん:2013/11/05(火) 21:23:56.90 .net
- >>363
標準出力のリダイレクトでは、その望みを叶えられないのだが。
凄くも何ともない。
- 365 :デフォルトの名無しさん:2013/11/10(日) 17:40:38.34 .net
- int f(int n) { while (--n) ; return n}
がgcc -O2 (4.6.3)で
int f(int ) { retunr 0; }
のようにコンパイルされました。
この最適化がヒューリスティック(パターンデータベースのようなもの)を使っているのか
知りたいのですが、どのへんを調べればいいのでしょうか?
(質問の意図は、自作の最適化器にもこの手の処理をいれたいのですが、
場当たり的に入れるしかないのか、一般的な方法があるのかを知りたいということです。)
- 366 :デフォルトの名無しさん:2013/11/10(日) 18:35:36.33 .net
- ただの定数最適化に見える。
あなたのレベルを分かるようにしないと、ドラゴンブック読めとか言われちゃうよ。
- 367 :デフォルトの名無しさん:2013/11/10(日) 18:37:40.20 .net
- >>366
なんか見当違いなレスだなぁ
- 368 :デフォルトの名無しさん:2013/11/10(日) 20:37:34.22 .net
- すいません。ドラゴンブックは学生時代に買って眺めたことはあります。専攻はコンピュータ科学でした。
コンパイラ関係はあまり深く学ばなかったとの、なにぶん10年以上のブランクがあるので、
どの程度の難しさの問題なのかもわからないのです。
定数最適化、なんでしょうか?
while文が終わるとすれば0しかありえないですが、while文の停止性まで最適化器が判断できるのか疑問だったのです。
追伸:
int f(int n) { while (n=n-2) {} return n; } main() { f(-2); }
とかだとnの偶奇(もっと一般のケースもいけるみたいです)で結果を変えるようです。
-O0 と -O2 で実行時間が全然違ってしまいますが速くなる分にはいいんですよね。
- 369 :デフォルトの名無しさん:2013/11/10(日) 21:40:38.13 .net
- GCCはどうだか知りませんのでドラゴンブックレベルの一般論ですが、
ループ最適化は普通にやるので、条件式は判断します。
制約条件がそこではっきりするので最終的には通常の定数最適化
パスで消えてるんじゃないでしょうか。
ドラゴンブックに書いてなかったっけ?
停止性が判断できるかという疑問ですが、判断できなければ
最適化はやらないということになるはずです。
逆に聞きたいのですが、ヒューリスティックに何かできる
んでしょうか? 実行時判断みたいなもの?
- 370 :デフォルトの名無しさん:2013/11/10(日) 23:40:22.44 .net
- 前半はなんとなくわかりました。ドラゴンブックは多分実家にあるので参照できませんが、、、
後半ですが、誤用かもしれませんが経験則の意味で使いました。
停止性は当然一般には判断できないので、どんな経験則を使ってるのかな、ってぐらいで、
深い意味はなかったです。
- 371 :デフォルトの名無しさん:2014/01/04(土) 22:39:03.46 .net
- ドラゴンブックってなーに
- 372 :デフォルトの名無しさん:2014/01/04(土) 23:07:48.15 .net
- ぐぐれ
- 373 :デフォルトの名無しさん:2014/01/06(月) 14:56:20.27 .net
- 教科書的な最適化はやってないと思うよ
- 374 :デフォルトの名無しさん:2014/01/06(月) 23:57:03.34 .net
- >>365
ブロック内の変数に関数外の部分から影響を受けるかどうか(volatileやrestrictじゃないメモリ参照とか)のフラグを用意して、
外部の影響を受けない変数や定数から構成された条件式は停止時の条件が計算できる可能が高いので最適化を試みるとか。
似たような考え方でブロックが(大域変数などに)副作用を与えるかどうかを判断すれば簡略化やコードの削除ができるんじゃない?
- 375 :デフォルトの名無しさん:2014/01/09(木) 18:39:35.49 .net
- >>371
中学生が大好きな架空の生物が掲載された魔導書だよ
恐れおののきつつも憧れを抱き、本棚の奥で埃を被っている一冊
忘れた頃に自分の娘がドラゴンを召喚して世界を崩壊へ誘ったりするアレ
- 376 :デフォルトの名無しさん:2014/01/09(木) 19:05:21.73 .net
- >>365
l1: --n;
if (n != 0) goto l1;
return n;
不変式解析で、
l1: --n;
if (n != 0) goto l1;
return 0;
nの非到達性で、
return 0;
- 377 :デフォルトの名無しさん:2014/01/09(木) 23:33:20.23 .net
- >>375
おもしろそうですね
- 378 :デフォルトの名無しさん:2014/01/22(水) 22:45:26.19 .net
- libdwarfがELFに依存してて泣ける…
Windows(MinGW)だとPE+DWARFだから使えないのが残念
MinGWのobjdump.exeは自力で解析してるから、ソースを参考にすれば
なんとかなりそうだけどDWARFの知識が必要になるし…
- 379 :デフォルトの名無しさん:2014/01/22(水) 23:18:17.02 .net
- libdwarfをPE対応にしてupstreamにパッチ投げれば
他の人も幸せになれるんでないの
- 380 :デフォルトの名無しさん:2014/01/22(水) 23:46:19.90 .net
- 正直libdwarf内で最低限のELFエミュレーションをしようと思ってソース
見たけどめげた…ごめんよ
とりあえずobjdump.exeがやってるDWARF解析部分を解析してみるよ
それでDWARFになじんだらまたトライしてみたい
- 381 :デフォルトの名無しさん:2014/02/13(木) 21:57:38.58 .net
- どうでもいいがCentOS最近入れたらデフォルトではインスコされてないんだな
gccのないLinuxなんてLinuxじゃないやい
- 382 :デフォルトの名無しさん:2014/02/13(木) 22:29:35.18 .net
- CentOSのGCCは糞古いから最初から入ってなくても問題無い
ただ新しいのを入れるには色々手間は掛かる
- 383 :デフォルトの名無しさん:2014/02/13(木) 22:46:51.56 .net
- 3回コンパイルすりゃいいだけだろ
- 384 :片山博文MZ無能 ◆T6xkBnTXz7B0 :2014/02/14(金) 19:50:03.01 .net
- gccとg++は最近不具合があるから、clangに乗り換えることにした。
- 385 :デフォルトの名無しさん:2014/02/14(金) 20:02:18.20 .net
- あそう
- 386 :デフォルトの名無しさん:2014/02/14(金) 21:13:38.73 .net
- あべ
- 387 :デフォルトの名無しさん:2014/02/14(金) 23:07:39.94 .net
- あべし
- 388 :デフォルトの名無しさん:2014/02/15(土) 01:10:07.47 .net
- ひでぶ
- 389 :デフォルトの名無しさん:2014/02/15(土) 04:20:34.58 .net
- たわば
- 390 :デフォルトの名無しさん:2014/02/15(土) 20:59:09.39 .net
- >>389
やぁ 先輩
- 391 :デフォルトの名無しさん:2014/02/15(土) 21:26:10.59 .net
- お こんなとこいたか まぁ上がれ
- 392 :デフォルトの名無しさん:2014/02/15(土) 22:58:41.46 .net
- おう、唐突なあ〜るスレやめろや
- 393 :デフォルトの名無しさん:2014/02/17(月) 15:17:28.49 .net
- うるさい! おまえなんかロボットだ
- 394 :デフォルトの名無しさん:2014/02/17(月) 16:03:52.41 .net
- 助けて あーりんロボ!ピンチなの!
- 395 :デフォルトの名無しさん:2014/02/17(月) 21:00:58.58 .net
- とほほ
- 396 :デフォルトの名無しさん:2014/02/18(火) 21:19:37.28 .net
- 埼玉県の地図さえあれば
- 397 :デフォルトの名無しさん:2014/02/18(火) 21:57:49.43 .net
- 山田うどんの場所がわかる
- 398 :デフォルトの名無しさん:2014/02/18(火) 22:39:44.23 .net
- いろんなレガシー言語の墓場になってて面白いよね
- 399 : ◆QZaw55cn4c :2014/03/17(月) 18:34:12.34 ID:rLCh2DtT.net
- >>394
「ロボットじゃないよ,アンドロイドだよ」って応えないと
- 400 :デフォルトの名無しさん:2014/03/21(金) 17:27:54.35 ID:Qhdzl4hJ.net
- 何を言ってる。
あれは立派なロボだ。設計図を知らんのか。
- 401 :デフォルトの名無しさん:2014/03/24(月) 14:20:24.04 ID:4BzhBi/8.net
- >>381
Solarisにccがないとかいう話が昔なんとかかんとか
> どうでもいいがCentOS最近入れたらデフォルトではインスコされてないんだな
> gccのないLinuxなんてLinuxじゃないやい
- 402 :デフォルトの名無しさん:2014/03/24(月) 22:27:08.61 ID:SeS398JM.net
- デフォってなによー の話だな
- 403 : ◆QZaw55cn4c :2014/03/25(火) 19:24:42.50 ID:I6L0W68I.net
- え?Linux ですら clang に移行したの?
- 404 :デフォルトの名無しさん:2014/03/25(火) 20:02:11.82 ID:AvCKhDY2.net
- >>403
ちげーよ、標準インストールと開発インストールの違いもわかんねーコゾウだよ
- 405 :デフォルトの名無しさん:2014/03/25(火) 20:57:10.65 ID:gYecV8lQ.net
- 今日4.9をsvnからチェックアウトしてビルドしたんだけど、gfortranのopm_lib.modとかバイナリになった?
去年9月頃ははテキストだったけど仕様変わったのかなそれともビルド失敗したのかな
- 406 :デフォルトの名無しさん:2014/03/25(火) 21:00:28.08 ID:gYecV8lQ.net
- あ、opm有効にしてビルドしたら実行ファイルは動いてるから仕様変わったのね
履歴にはなんも書いてないっぽい
同じく昨日ビルドした4.8.3のスナップは未だにテキスト形式なんだけどなー
- 407 :デフォルトの名無しさん:2014/03/25(火) 21:20:14.97 ID:gYecV8lQ.net
- 更に勘違い。去年9月の4.9もバイナリだった、4.8はずーっとテキスト形式
あーんもう、ごめん!
- 408 :デフォルトの名無しさん:2014/03/25(火) 23:27:56.52 ID:6NPXk5PR.net
- MacOSとFreeBSDはclangだよな
- 409 :デフォルトの名無しさん:2014/03/26(水) 00:54:07.95 ID:+kV1DCY1.net
- せやな
MacOSは-stdlib=libc++をつけるのがめんどくさい
- 410 :デフォルトの名無しさん:2014/04/07(月) 00:58:28.85 ID:JdSV9wAR.net
- ツール使えよ
- 411 :デフォルトの名無しさん:2014/04/29(火) 09:38:50.75 ID:ysohpla1.net
- GCC4.9ってOpenMP4.0フルサポートしてんの?
- 412 :デフォルトの名無しさん:2014/04/30(水) 12:26:36.46 ID:RKEixZj5.net
- 4.9.0
出てたんだ
- 413 :デフォルトの名無しさん:2014/05/06(火) 16:53:49.90 ID:D1oOHYCI.net
- 次は4.10なのか
5になるためのネタがない?
- 414 :デフォルトの名無しさん:2014/05/23(金) 05:46:56.69 ID:w10M27AR.net
- gcc で objective-c をコンパイルするにはどうすればいいの?
http://ideone.com/vLTMFt
コンパイル時エラー
$ gcc hello.m -l objc
hello.m: 関数 ‘main’ 内:
hello.m:16:3: 警告: ‘Hello’ may not respond to ‘+alloc’ [デフォルトで有効]
id obj = [Hello alloc];
^
hello.m:16:3: 警告: (Messages without a matching method signature [デフォルトで有効]
hello.m:16:3: 警告: will be assumed to return ‘id’ and accept [デフォルトで有効]
hello.m:16:3: 警告: ‘...’ as arguments.) [デフォルトで有効]
手元の環境
$ gcc -v
組み込み spec を使用しています。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-cygwin/4.8.2/lto-wrapper.exe
ターゲット: x86_64-pc-cygwin
configure 設定: /cygdrive/i/szsz/tmpp/cygwin64/gcc/gcc-4.8.2-3/src/gcc-4.8.2/configure
--srcdir=/cygdrive/i/szsz/tmpp/cygwin64/gcc/gcc-4.8.2-3/src/gcc-4.8.2
--prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec
--datadir=/usr/share --localstatedir=/var --sysconfdir=/etc --libdir=/usr/lib --datarootdir=/usr/share
--docdir=/usr/share/doc/gcc --htmldir=/usr/share/doc/gcc/html -C --build=x86_64-pc-cygwin
--host=x86_64-pc-cygwin --target=x86_64-pc-cygwin
(いくつか略)
--disable-__cxa_atexit --with-dwarf2 --with-tune=generic --enable-languages=ada,c,c++,fortran,lto,objc,obj-c++ --enable-graphite
--enable-threads=posix --enable-libatomic --enable-libgomp --disable-libitm --enable-libquadmath
--enable-libquadmath-support --enable-libssp --enable-libada --enable-libgcj-sublibs --disable-java-awt --disable-symvers
--with-ecj-jar=/usr/share/java/ecj.jar --with-gnu-ld --with-gnu-as --with-cloog-include=/usr/include/cloog-isl
--without-libiconv-prefix --without-libintl-prefix --with-system-zlib --libexecdir=/usr/lib
スレッドモデル: posix
gcc バージョン 4.8.2 (GCC)
- 415 :デフォルトの名無しさん:2014/05/23(金) 09:33:50.09 ID:U/5chHkJ.net
- 警告しかでていないならコンパイルはできていると思うけど
- 416 :デフォルトの名無しさん:2014/05/23(金) 11:15:03.37 ID:w10M27AR.net
- ごめんなさい、吐かれたコードを実行しても、標準出力になにもでてこないのです
同じことを 4.5 でやると警告も出ず、ふつうに hello world なんですが
- 417 :デフォルトの名無しさん:2014/07/27(日) 19:12:27.24 ID:pp47+FdL.net
- >>416
% ./search_symbol.py -C NCursesWindow::scanw /lib/*
/lib/libncurses++.a: cursesw.o: 0000000000000100 T NCursesWindow::scanw(int, int, char const*, char*)
/lib/libncurses++.a: cursesw.o: 00000000000000b0 T NCursesWindow::scanw(int, int, char const*, ...)
みたいな出力が得られればいいてこと?
だったら
https://github.com/katonori/utils/blob/master/search_symbol.py
は?
自分はundefined referenceが出たときにシンボル検索するのに使ってます。
- 418 :デフォルトの名無しさん:2014/07/28(月) 01:04:10.57 ID:S8bP8KRA.net
- LDでMAP履かせるのは
ハックしてる(たい)のかな
- 419 :デフォルトの名無しさん:2014/07/30(水) 01:21:20.41 ID:LiTgK4lk.net
- LinusがGCC4.9.0のバグにキれた
- 420 :デフォルトの名無しさん:2014/07/30(水) 02:01:24.91 ID:oDeeIPz4.net
- もう終わってるようですが
釣られたね
- 421 :デフォルトの名無しさん:2014/07/30(水) 03:45:12.55 ID:PPnK+MrP.net
- 見通しの悪いコードだからね
バグは仕方がないね
- 422 :デフォルトの名無しさん:2014/08/06(水) 01:49:57.96 ID:UfTRWNoo.net
- >>421
アホ
- 423 :デフォルトの名無しさん:2014/08/06(水) 07:20:21.65 ID:+ssJ76ua.net
- つまり誤りを指摘できないコンパイラである
- 424 :デフォルトの名無しさん:2014/09/01(月) 17:18:59.59 ID:VPjEFum2.net
- 次は5になるんだ
- 425 :デフォルトの名無しさん:2014/11/01(土) 11:07:43.54 ID:rGDtr6qH.net
- 4.9.2
- 426 :デフォルトの名無しさん:2015/02/19(木) 02:20:08.94 ID:5auBdrhP.net
-
- 427 :デフォルトの名無しさん:2015/04/08(水) 00:39:51.33 ID:51Wd8GKc.net
-
- 428 :デフォルトの名無しさん:2015/04/08(水) 11:17:37.83 ID:hEHuYJX1.net
- 盗用対策でわざと読めないコードにしたらしいけど
いまじゃこんな時代遅れのコンパイラをパクる人はいない
- 429 :デフォルトの名無しさん:2015/04/08(水) 15:21:54.99 ID:wDOW6rTo.net
- 5でC++のABI変わるの?
- 430 :デフォルトの名無しさん:2015/04/23(木) 09:04:30.89 ID:L0hrJWKj.net
- 5.1.0
- 431 :デフォルトの名無しさん:2015/04/23(木) 15:15:21.89 ID:atwBzKak.net
- 4.3.2
- 432 :デフォルトの名無しさん:2015/06/05(金) 04:36:33.22 ID:UT3b9sCy.net
-
- 433 :デフォルトの名無しさん:2015/09/02(水) 17:07:20.43 ID:DQQjJ9NG.net
-
- 434 :デフォルトの名無しさん:2015/11/03(火) 21:24:15.94 ID:hk+PiOLT.net
-
- 435 :デフォルトの名無しさん:2016/01/11(月) 11:14:38.50 ID:HoJC5dfe.net
- GCC6の変更てんって、インデントのみ?
- 436 :デフォルトの名無しさん:2016/01/28(木) 20:35:49.10 ID:VeopZaJ3.net
- 最近 C++ を勉強しはじめたのですが、
g++ のエラー出力の形式が gcc とものすごく違うのに面喰っています。
オプション指定などで gcc と同様の形式にすることはできないのでしょうか?
- 437 :はちみつ餃子 ◆8X2XSCHEME :2016/01/28(木) 21:23:31.95 ID:TCLaQcMe.net
- もうちょっと具体的に
- 438 :デフォルトの名無しさん:2016/01/28(木) 21:45:04.24 ID:VeopZaJ3.net
- すいません。
勘違いしてました。
cpp を gcc でコンパイルしたときの
>gcc -o sample sample.cpp
>/tmp/ccHobvfJ.o: 関数 `main' 内:
>sample.cpp:(.text+0xa): `std::cout' に対する定義されていない参照です
「sample.cpp:(.text+0xa)」に面喰ってたのですが、g++ でコンパイルしたら
ちゃんと知ってる書式で出ました。
- 439 :デフォルトの名無しさん:2016/01/28(木) 21:52:47.07 ID:CWsUf0Ic.net
- おう
- 440 :デフォルトの名無しさん:2016/02/01(月) 02:47:57.76 ID:HMRpImQy.net
- それリンカ…
- 441 :デフォルトの名無しさん:2016/02/01(月) 13:16:02.61 ID:84B0KlUA.net
- アイモ?
- 442 :デフォルトの名無しさん:2016/02/03(水) 13:48:57.13 ID:iTeEw9tj.net
- >>440
梨花?
- 443 :デフォルトの名無しさん:2016/02/28(日) 18:25:57.85 ID:uogjYwY3.net
- GCC 6の新機能が明らかに
http://news.mynavi.jp/news/2016/02/28/084/
- 444 :デフォルトの名無しさん:2016/03/02(水) 02:54:35.44 ID:oSr380JQ.net
- GCC -O0、-O1、-O2、-O3、-Ofast 高速化比較
http://news.mynavi.jp/news/2016/03/01/128/
- 445 :デフォルトの名無しさん:2016/03/02(水) 14:42:42.45 ID:5GhErR2D.net
- Osでもやってくれればいいのに
- 446 :デフォルトの名無しさん:2016/03/02(水) 17:20:10.78 ID:lD1NPV/0.net
- O2でいつもやってます。
Ofastなんてのもあるのね。
- 447 :デフォルトの名無しさん:2016/03/05(土) 16:11:38.62 ID:lT2oGFyN.net
- 最適化オプション込みのGCCとClangベンチマークの結果は?
http://news.mynavi.jp/news/2016/03/05/127/
- 448 :デフォルトの名無しさん:2016/03/11(金) 20:51:18.84 ID:X4qaC3Iv.net
- -fdiagnostics-color=always
GCC6
- 449 :デフォルトの名無しさん:2016/04/30(土) 17:27:04.53 ID:OgsdJJuf.net
- https://gcc.gnu.org/gcc-6/
GCC6.1
- 450 :デフォルトの名無しさん:2016/06/15(水) 02:52:27.21 ID:+TkysGmJ.net
- 書いて
- 451 :デフォルトの名無しさん:2016/06/16(木) 00:54:16.68 ID:51iFbwI8.net
- GCC は知ってても それだけじゃ困ります
- 452 :デフォルトの名無しさん:2016/06/16(木) 02:36:57.43 ID:Iyn9EIt5.net
- >>451
オライリーカセットエルエル
- 453 :デフォルトの名無しさん:2016/06/16(木) 07:05:41.63 ID:TbbHcW/c.net
- >>451
ABCDGCC アルファベットのその次は〜♪
- 454 :デフォルトの名無しさん:2016/06/16(木) 15:56:37.06 ID:rsf/7RT/.net
- CGCもありますよ
- 455 :デフォルトの名無しさん:2016/06/17(金) 17:44:56.05 ID:V0cjq2S8.net
- スレの平均年齢あげてんじゃねぇwwwww(おれモナー)
- 456 :デフォルトの名無しさん:2016/06/18(土) 19:33:29.70 ID:KfEx8M6W.net
- gjc うまく動いているところある?
- 457 :デフォルトの名無しさん:2016/06/18(土) 21:35:16.58 ID:thbDmWc+.net
- BCGなら知ってる
- 458 :デフォルトの名無しさん:2016/06/19(日) 01:32:39.47 ID:NRxeaUG3.net
- 40代殺すビームを発射したら何人死ぬんだろう
- 459 :デフォルトの名無しさん:2016/06/19(日) 22:15:40.10 ID:uf/yCY1p.net
- ギリ回避
- 460 :デフォルトの名無しさん:2016/06/20(月) 00:26:43.55 ID:5bY9X42F.net
- 別の意味でねw
- 461 :デフォルトの名無しさん:2016/06/20(月) 00:55:19.63 ID:p59q5xA0.net
- >>458
知命を過ぎた我らにはかすりもせん
- 462 :デフォルトの名無しさん:2016/08/13(土) 07:59:05.63 ID:Rcl/logk.net
- Windows7でMinGW入れてCの勉強やってます
文字コードがcp932のソースコードをコンパイル・実行するためのオプション
-finput-charset=cp932 -fexec-charset=cp932
これを毎回コマンドラインに手打ちするのがつらくなってきたのですが
どこか設定ファイルに書いておいて自動適用する方法ってないでしょうか
ググっても見つけられませんでした
- 463 :デフォルトの名無しさん:2016/08/13(土) 08:34:55.76 ID:pGfuxwHW.net
- CならMakefileを書け
- 464 :デフォルトの名無しさん:2016/08/13(土) 09:55:55.85 ID:vGY68yUz.net
- 設定ファイルは分からないけど、
コマンドラインで打ってるならバッチファイルか
doskeyのマクロ機能を使えば手軽に簡略化できると思う。
個人的にはmakeの使い方を覚えてmakefileを書くことを勧めるが、
入門の難度と中毒性が高いのでちょっとした覚悟がいる。
- 465 :デフォルトの名無しさん:2016/08/13(土) 11:32:27.28 ID:3xWe6TEb.net
- utf8使えるエディタに換える
- 466 :463:2016/08/13(土) 11:54:22.45 ID:Rcl/logk.net
- さらにググりまくって何とか出来ました!
・コマンドラインで「gcc -dumpspecs > specs」と打つ
・出来上がったspecsファイルをテキストエディタで開く
・cc1セクションを探し、任意のコンパイルオプションを追加記入し上書き保存する
・specsファイルを「gccのインストールディレクトリ\lib\gcc\バージョン名」下にコピーする
>>463-464
ありがとうです
makeは今の自分には難解すぎて断念しました
将来の課題にしておきます
- 467 :デフォルトの名無しさん:2016/08/13(土) 13:23:36.53 ID:t4GHKHGu.net
- mingw使ってるならcp932捨てた方がいいよ
わりとまじで
- 468 :デフォルトの名無しさん:2016/08/13(土) 14:21:44.19 ID:JpIG9eE/.net
- cp932なんてsambaのPC側の文字コード設定ぐらいの時にしか出てこない気が。
Linux側では単純にutf8でやってるだけなんで。
え 全く別の話?
- 469 :デフォルトの名無しさん:2016/08/14(日) 06:00:03.96 ID:Ph8A1qTU.net
- >>466
それだとその環境上で実行される全てのgccでオプションが付加されちゃわない?
思わぬバグやエラーを招くこともあると思うよ
できるなら他の人も書いてるようにmakefileを書く方が切り分けが楽で後々良いかと
大域的に影響がある環境の変更をするよりは、必要最低限の範囲にのみ影響するような変更に留めるのが健全な実行環境を維持するコツだよ
オプションを加えるだけのmakefileなら単純だし
もしくはこれも提案出てるけどエディタ変えてプログラミングはutf8でしかやらないようにするとか
- 470 :デフォルトの名無しさん:2016/08/14(日) 16:51:42.46 ID:L30gVEDx.net
- エディタ変えようと-fexec-charset=cp932は外せないんだから何の解決にもなってないでしょ
- 471 :デフォルトの名無しさん:2016/08/14(日) 18:54:54.15 ID:nMw0ky4N.net
- exec-charsetの方はプログラム内でエンコーディングしろって意味かと思った
- 472 :470:2016/08/14(日) 22:25:03.53 ID:Edad6EwT.net
- >>470
たしかに
正直、-fexec-charsetの存在を忘れてた
でもこれってプログラム内の文字列をどの文字セットで扱うかってフラグだったよね?
win向けのプログラム開発をしてるのではなく、単にCの勉強をしてるだけだってんなら別にこのフラグなしでutf8でいいのではないかとも思う
- 473 :デフォルトの名無しさん:2016/08/15(月) 06:37:15.15 ID:bftlQCDN.net
- 確かに学習のためだけなら
「コマンドプロンプトの方をUTF-8環境にする」
という対処方法も考えられるね。
ソースも実行環境もUTF-8に統一してスッキリ。
- 474 :デフォルトの名無しさん:2016/08/15(月) 10:19:12.39 ID:GUZ7DBqH.net
- Windowsさっさとファイル名もUTF-8にしてくれないかな
- 475 :デフォルトの名無しさん:2016/08/15(月) 15:09:18.91 ID:0oBPA7Tv.net
- ANSI版Win32APIのコードページを変更出来ると思うから一応対応済じゃね
アプリケーションの方が未対応だと問題あると思うけど
- 476 :デフォルトの名無しさん:2016/08/15(月) 17:03:32.00 ID:GUZ7DBqH.net
- 確かにUTF-8でファイル作っても問題ないね
- 477 :デフォルトの名無しさん:2016/08/16(火) 01:50:51.89 ID:vguDjKeL.net
- 秀丸もずっと前からUTF8です。
改行もLFだけにしてますw
- 478 :デフォルトの名無しさん:2016/08/16(火) 18:36:19.37 ID:6YKAxD8c.net
- 一応ファイル名の話です(コソ)
- 479 :デフォルトの名無しさん:2016/08/24(水) 07:15:05.70 ID:kLo7lknt.net
- 「内部コンパイラエラー(ICE)に関するものなど深刻なものを含む110以上のバグが修正されている」
GNU Project、バグを修正した「GCC 6.2」リリース | OSDN Magazine
https://osdn.jp/magazine/16/08/23/160000
- 480 :デフォルトの名無しさん:2016/08/24(水) 11:06:55.26 ID:QaW9qvVs.net
- そんなにバグがあったんかいw
- 481 :デフォルトの名無しさん:2016/08/27(土) 22:33:03.31 ID:hHIn3p4U.net
- 6.2.0
メイン用、avr、rl78、rxのマイコン用をビルドしてみた
警告がカラフルになって、実行ファイルサイズが概ね小さくなる
avrのoptibootが -O2でビルドできるようになった
- 482 :デフォルトの名無しさん:2016/09/10(土) 05:50:38.38 ID:ORSl4G0I.net
- GCC、Javaコンパイラを削除へ
http://news.mynavi.jp/news/2016/09/08/290/
- 483 :デフォルトの名無しさん:2016/09/10(土) 15:09:58.85 ID:QUVRyXDh.net
- イラネ
- 484 :デフォルトの名無しさん:2016/09/10(土) 16:47:02.41 ID:sdu848ew.net
- つかgcjって生まれたときから死んでたじゃん
- 485 :デフォルトの名無しさん:2016/09/10(土) 16:56:47.74 ID:nNi8wB7Z.net
- gava って名前だけは知ってる
- 486 :デフォルトの名無しさん:2016/09/15(木) 02:37:58.08 ID:D+3Xw/UT.net
- gccg......
- 487 :デフォルトの名無しさん:2016/09/15(木) 13:47:45.57 ID:/7fa7B3U.net
- ggg
- 488 :デフォルトの名無しさん:2016/09/15(木) 15:40:32.42 ID:qnepHcI/.net
- gdgd
- 489 :デフォルトの名無しさん:2016/09/17(土) 16:00:31.43 ID:cBBu8BTF.net
- ggrks
…意味は知らないんだけど、とりあえず。
- 490 :デフォルトの名無しさん:2016/09/17(土) 17:26:16.60 ID:f3ns77tl.net
- それ面白いか、書き込む前に一呼吸
- 491 :デフォルトの名無しさん:2016/09/17(土) 21:11:00.39 ID:9GewtxBS.net
- >>490
若い奴はナニコレ、ひくわだろうが、ゆとりおっさんには超面白い。
まさにgjカキコ
- 492 :デフォルトの名無しさん:2016/09/17(土) 23:36:34.55 ID:nGW483U9.net
- ?
- 493 :デフォルトの名無しさん:2016/09/17(土) 23:55:21.38 ID:5KlLn2ZS.net
- ところでGCC 7使ってますか?
http://www.phoronix.com/scan.php?page=article&item=llvm-clang-39&num=1
- 494 :デフォルトの名無しさん:2016/10/09(日) 19:15:12.28 ID:QWyuhQzX.net
- gccはオワコン
これからはclangの時代
- 495 :デフォルトの名無しさん:2016/10/09(日) 23:31:58.18 ID:JM7AAmuH.net
- >>494
Linuxカーネルがコンパイルできるようになったら
clangの時代だと思う
それまでは覇権は取れないんじゃないかな
- 496 :デフォルトの名無しさん:2016/10/10(月) 00:12:14.42 ID:Y6Wc1LxJ.net
- 別に元コードがC/C++だったら、gccでもclangでもどっちでもよくね?
clangじゃなきゃいけない事って何?
- 497 :デフォルトの名無しさん:2016/10/10(月) 00:29:47.64 ID:xlOREdNf.net
- >>496
gcc拡張てんこ盛りってところ
- 498 :デフォルトの名無しさん:2016/10/10(月) 00:59:48.54 ID:Bk4kbXB6.net
- >>496
VLA in structs だろ。
- 499 :デフォルトの名無しさん:2016/10/10(月) 02:09:59.34 ID:GkbrycFn.net
- gccは、コピーさせないために以前はわざと読みづらいコードにしてた ってきいて正直引いた。
もうclang/llvmでいいやとも思う。
- 500 :デフォルトの名無しさん:2016/10/10(月) 16:41:27.85 ID:Q436H0RN.net
- >>494-496
eC
- 501 :デフォルトの名無しさん:2016/10/10(月) 19:34:58.05 ID:6g4zEbRm.net
- >>499
マジか
フリーを謳ってるくせにストールマン最低だな
- 502 :デフォルトの名無しさん:2016/10/11(火) 06:38:37.33 ID:uTzn0xHe.net
- GPLに感染してるという主張を確実に裏付けるために
わざと持って回った複雑なソースコードを書いたってことはありそうだな。
- 503 :デフォルトの名無しさん:2016/10/11(火) 20:27:51.92 ID:4j+X4FeX.net
- ストールマンの収入源は何?
- 504 :デフォルトの名無しさん:2016/10/12(水) 00:38:05.54 ID:3Wyv7hu0.net
- MITから給料もらってるんじゃなかったっけ?
- 505 :デフォルトの名無しさん:2016/10/12(水) 10:17:13.89 ID:3Xd7qjxr.net
- >>499
ソースは?
- 506 :デフォルトの名無しさん:2016/10/12(水) 13:37:05.40 ID:oYWwKjii.net
- おれもどっかで読んだ記憶があるよ
わざと難解になっていたって
web上の記事だったはずだけど
- 507 :デフォルトの名無しさん:2016/10/12(水) 13:44:56.83 ID:7KfRMW0s.net
- >>506
ソースは?
- 508 :デフォルトの名無しさん:2016/10/12(水) 16:31:48.58 ID:oYWwKjii.net
- だからちょっと待っとけっての!
だだし今更見つけられるかどうかはわかんねーぞ
- 509 :デフォルトの名無しさん:2016/10/12(水) 17:32:24.84 ID:oYWwKjii.net
- ごめん見つけられん
>>428 の書き込み以前にどっかで読んだ気がするんだけど
もしかしたらこういう書き込みとかスラドの米とかで自分の記憶を捏造してるかもと自信なくなってきた
- 510 :デフォルトの名無しさん:2016/10/12(水) 18:27:53.43 ID:gPyXWsTu.net
- いくらストールマンがデブで長髪でキモくて
ステレオタイプのオタクをそのまま体現している
容貌をしているからと言って
嘘は良くない
- 511 :デフォルトの名無しさん:2016/10/12(水) 18:45:00.04 ID:bqn+ql9d.net
- たしかにアメリカが京都に原爆落とすのをためらったのは
文化財があるからっていうのがどうやら噂レベルだったと
否定されたっていう話があったんだけどやっぱり噂じゃなくて
本当だったと最近NHKでやってた
- 512 :デフォルトの名無しさん:2016/10/13(木) 00:46:41.21 ID:sDm/srBF.net
- https://cpplover.blogspot.jp/2014/01/clang-vs.html
これでも読んだんじゃね
- 513 :デフォルトの名無しさん:2016/10/14(金) 14:20:39.77 ID:R0NlyoEI.net
- >>512
あぁ、それっぽい。
- 514 :デフォルトの名無しさん:2016/10/14(金) 19:15:13.88 ID:zN4aic2C.net
- >>511
長崎のキリスト教徒大虐殺とかどう思ってやったんだろうね>>トルーマンとF.D.R
- 515 :デフォルトの名無しさん:2016/10/15(土) 11:10:23.08 ID:3X5br0xr.net
- >>510
おっと!ストールマンの容姿についてはそこまでだ!!
参考Wikipedia
ttps://ja.wikipedia.org/wiki/リチャード・ストールマン#/media/File:Richard_Stallman_at_Pittsburgh_University.jpg
>>512 の記事自体は初めて読んだけど、
「GCCディベロパの一人のコメント」的に紹介されてたような記憶なんよね
それこそ、その辺のライセンスポリシーとかllvmの台頭とかの話題の時にどっかの記事で
スラドに匿名だけどコメント( ttp://srad.jp/comment/2648971 )があったりもするし
>>428 や>>499 が何から情報を得たのかはわからないけど、
なんかどっかで作られたデマの類に乗ってしまったのかもしれんです
- 516 :デフォルトの名無しさん:2016/10/15(土) 13:44:11.82 ID:5kX/FrWC.net
- >>515
ストールマンの身長って140〜150くらいだよね
- 517 :デフォルトの名無しさん:2016/11/22(火) 05:30:18.91 ID:S++Wrgig.net
- >>482
「GCCチームは11月15日(米国時間)に実施したコミットにおいて、
GNU Compiler For Javaへの参照を削除。
2017年に登場が予定されている次期GCCにはGNU Compiler For Javaが含まれない」
GCCからJava削除 | マイナビニュース<
http://news.mynavi.jp/news/2016/11/17/253/
2016/11/17
- 518 :デフォルトの名無しさん:2016/11/23(水) 00:42:06.61 ID:2wwg+wZ4.net
- Javaはどんどん新しくなるから
いちいち新仕様実装していられないもんな
ましてネイティブコード吐かなきゃならんとなるともう無理でしょうし
- 519 :デフォルトの名無しさん:2016/11/23(水) 03:16:25.77 ID:PydhlW4s.net
- 今更聞くのもアホだが、gavaってc++並に速かったの?
- 520 :デフォルトの名無しさん:2016/11/23(水) 04:01:37.59 ID:z3+gQqbD.net
- gavaって聞いたこと無いけど何なの?
- 521 :デフォルトの名無しさん:2016/11/23(水) 13:03:31.84 ID:PydhlW4s.net
- gnu java
記憶違いだったらすまんw
- 522 :デフォルトの名無しさん:2016/11/23(水) 14:02:51.65 ID:nSh1qY6a.net
- GNU javaのパフォーマンスは悪くて10年以上前にSUN javaより遅いと言われてた
仕様追従も性能改善も出来なくて需要も無いだろうから切り捨ては仕方ないね
- 523 :デフォルトの名無しさん:2016/11/23(水) 16:01:50.37 ID:2wwg+wZ4.net
- >>519
GCJだろ
GNU Compiler for Javaの頭文字
- 524 :デフォルトの名無しさん:2016/11/23(水) 16:39:44.43 ID:PydhlW4s.net
- >>523
俗語だったのかもね どもでした
- 525 :デフォルトの名無しさん:2016/12/02(金) 19:20:14.68 ID:gZ6Js52V.net
- gcjはそれなりに速かった
http://www.stefankrause.net/wp/?p=6
当時はJDKがまだopenじゃなかったから
自前でクラスライブラリ(GNU classpath)構築してたけど
これの品質と実装範囲が弱点だった
今やJava使う人は豊富なjarに依存してるから
ソースありきのgcj復活はないだろう
- 526 :デフォルトの名無しさん:2016/12/02(金) 21:21:41.54 ID:Y0rnRsuL.net
- ある関数をobsoleteにしたいとき
コンパイル時にその関数を使ってたら
なんかメッセージ出すようにしたいんだけど
こういうのってgccだとどうやるんだっけか
- 527 :片山博文MZ ◆T6xkBnTXz7B0 :2016/12/02(金) 21:34:57.97 ID:gXaWqY6R.net
- >>526
typedef int T1 __attribute__ ((deprecated));
- 528 :527:2016/12/02(金) 22:07:59.65 ID:Y0rnRsuL.net
- 自己解決
プロトタイプ宣言とかに __attribute__((deprecated)) をくっつけたら
warningで出てくれるようになった
だいぶ便利になったゾこれ
- 529 :デフォルトの名無しさん:2017/03/25(土) 20:32:27.62 ID:ZcDcQt4/.net
- hosyu
- 530 :デフォルトの名無しさん:2017/09/27(水) 15:45:13.66 ID:xifQZ/9i.net
- すごい下がってるけど、GCCって人気ないの?
- 531 :デフォルトの名無しさん:2017/09/27(水) 16:02:46.20 ID:XAx8uEjz.net
- 最近はclangでしょ
- 532 :デフォルトの名無しさん:2017/09/28(木) 10:21:01.12 ID:PJxaABWy.net
- 永遠に不滅です
- 533 :デフォルトの名無しさん:2017/10/15(日) 09:20:21.14 ID:Gzamsjai.net
- __attribute__(cleanup)
をC言語標準に入れてください
- 534 :デフォルトの名無しさん:2018/02/16(金) 06:42:18.37 ID:W1XJdyx1.net
- ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
- 535 :デフォルトの名無しさん:2018/03/08(木) 16:25:01.49 ID:gkfiSzw4.net
- >>534
プライマリーバランスの黒字化政策を撤廃するほうが先ですよ
- 536 :デフォルトの名無しさん:2018/05/23(水) 21:31:56.23 ID:Au5e7VGg.net
- 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
DH2HQ
- 537 :デフォルトの名無しさん:2018/05/23(水) 22:53:16.01 ID:VpAiMH2g.net
- >>536
もはや検索結果に出なくされてるのに気がついていない?
- 538 :デフォルトの名無しさん:2018/07/04(水) 23:15:21.24 ID:gFgZc5FG.net
- CWX
総レス数 538
123 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★