C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part143
https://mevius.5ch.net/test/read.cgi/tech/1560574313/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1556142878/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
----- テンプレ ここまで -----
C++相談室 part144
■ このスレッドは過去ログ倉庫に格納されています
2019/07/22(月) 13:18:35.52ID:gptRHpgT
452395
2019/08/12(月) 22:32:15.08ID:lzJUIRtk 下記で数値からバイナリへの変換ができましたが、何の計算をしているのかさっぱりわかりません……
逆変換できるのでしょうか?
http://codepad.org/oSvOJP1p
---結果---
変換前の値:0.000250
変換後の値:3e 10 62 4d d2 f1 a9 fc
----------
逆変換できるのでしょうか?
http://codepad.org/oSvOJP1p
---結果---
変換前の値:0.000250
変換後の値:3e 10 62 4d d2 f1 a9 fc
----------
453デフォルトの名無しさん
2019/08/12(月) 22:37:12.67ID:S6a2ieXo454デフォルトの名無しさん
2019/08/12(月) 22:47:45.27ID:ikUKzGwn 浮動小数の正規化っぽいけど
( A < 0.0625 ) || ( A >= 1.0 ) ってのが特殊だと思う
何かそういう事情があったんでしょう
浮動小数の正規化ってのは検索すればわかる
別環境でデコードするだけならたぶん気にしなくて大丈夫
( A < 0.0625 ) || ( A >= 1.0 ) ってのが特殊だと思う
何かそういう事情があったんでしょう
浮動小数の正規化ってのは検索すればわかる
別環境でデコードするだけならたぶん気にしなくて大丈夫
455デフォルトの名無しさん
2019/08/12(月) 22:50:05.37ID:ikUKzGwn 確かに、IBM方式ってやつっぽい
気にしないといかんわw
無駄なこと書いてごめんね
気にしないといかんわw
無駄なこと書いてごめんね
456395
2019/08/12(月) 23:17:08.77ID:lzJUIRtk457デフォルトの名無しさん
2019/08/12(月) 23:30:07.71ID:S6a2ieXo 「エクセス64」とかでググればいいと思うよ
458蟻人間 ◆T6xkBnTXz7B0
2019/08/12(月) 23:30:19.79ID:rRSk3cI0459デフォルトの名無しさん
2019/08/13(火) 10:45:33.34ID:dVadaxxz こんな感じかな?保証はせん
uint64_t ibm = 0x3e10624dd2f1a9fcULL
if (ibm == 0x0) { return 0.0; }
uint64_t sign = ibm >> 63;
uint64_t ibmexp = (ibm >> 56) & 0x7f;
uint64_t ibmfrac = ibm & 0x00ff'ffff'ffff'ffffULL;
if (ibmexp == 0x0) { return std::numeric_limits<double>::quiet_NaN(); } //てきとう
uint64_t ieeeexp = (ibmexp - 64) * 4 + 1023;
uint64_t ieeefrac = ibmfrac;
while(ieeefrac & 0x0100'0000'0000'0000)
{
ieeefrac <<=1;
--ieeeexp;
}
ieeefrac ^= 0x0100'0000'0000'0000;
ieeefrac >>= 1;
uint64_t ieee = (sign << 63) | (ieeeexp << 55) | ieeefrac;
return *reinterpret_cast<double*>(&ieee);
uint64_t ibm = 0x3e10624dd2f1a9fcULL
if (ibm == 0x0) { return 0.0; }
uint64_t sign = ibm >> 63;
uint64_t ibmexp = (ibm >> 56) & 0x7f;
uint64_t ibmfrac = ibm & 0x00ff'ffff'ffff'ffffULL;
if (ibmexp == 0x0) { return std::numeric_limits<double>::quiet_NaN(); } //てきとう
uint64_t ieeeexp = (ibmexp - 64) * 4 + 1023;
uint64_t ieeefrac = ibmfrac;
while(ieeefrac & 0x0100'0000'0000'0000)
{
ieeefrac <<=1;
--ieeeexp;
}
ieeefrac ^= 0x0100'0000'0000'0000;
ieeefrac >>= 1;
uint64_t ieee = (sign << 63) | (ieeeexp << 55) | ieeefrac;
return *reinterpret_cast<double*>(&ieee);
460デフォルトの名無しさん
2019/08/13(火) 14:26:32.23ID:69RK7xLA whileの条件逆じゃね?
461デフォルトの名無しさん
2019/08/13(火) 16:15:58.84ID:dVadaxxz せやなうっかり
462デフォルトの名無しさん
2019/08/13(火) 16:22:35.35ID:dVadaxxz というか指数部のビット長勘違いしてたわ
459は捨ててください恥ずかしい
459は捨ててください恥ずかしい
463デフォルトの名無しさん
2019/08/13(火) 16:47:23.86ID:69RK7xLA ieee形式は自前で変換せずにdoubleで計算してしまえばいいんでは?
464デフォルトの名無しさん
2019/08/13(火) 16:53:18.70ID:dVadaxxz frexpとldexpでやっちゃう方が間違えにくくていいのかな
465デフォルトの名無しさん
2019/08/13(火) 18:22:46.77ID:PZEzWgAr エクセス64か
半導体とかで使われるGDSIIの実数がそれなんだよね。
自力で実装したわー。
4bitを16進数一桁として考えてて、指数部は16^xで表現されててケチ表現なし。
半導体とかで使われるGDSIIの実数がそれなんだよね。
自力で実装したわー。
4bitを16進数一桁として考えてて、指数部は16^xで表現されててケチ表現なし。
466デフォルトの名無しさん
2019/08/13(火) 20:43:52.09ID:qE6XkMY1 じゃあどっかにライブラリでもあるんじゃねえの
探したら出てくるパターンだろこれ
探したら出てくるパターンだろこれ
467デフォルトの名無しさん
2019/08/13(火) 21:21:58.48ID:6RsDp/em >>457-466
コメントやサンプルコードありがとうございます。
こんな複雑なコードになるんですね。。
何やってるのかさっぱりわかりませんが、上記コードを参考に勉強してみます。
しかしエクセス64で検索してもそんなに記事が出てこないですね。
かなりの難易度の予感……
コメントやサンプルコードありがとうございます。
こんな複雑なコードになるんですね。。
何やってるのかさっぱりわかりませんが、上記コードを参考に勉強してみます。
しかしエクセス64で検索してもそんなに記事が出てこないですね。
かなりの難易度の予感……
468デフォルトの名無しさん
2019/08/13(火) 21:38:17.35ID:qE6XkMY1 これか?
GitHub - enthought/ibm2ieee: Cross-project library for converting IBM-format hexadecimal floating-point to IEEE format binary floating-point.
https://github.com/enthought/ibm2ieee
GitHub - enthought/ibm2ieee: Cross-project library for converting IBM-format hexadecimal floating-point to IEEE format binary floating-point.
https://github.com/enthought/ibm2ieee
469デフォルトの名無しさん
2019/08/13(火) 21:49:54.85ID:0//4zuKx よくやった
寝ることを許可する
寝ることを許可する
470デフォルトの名無しさん
2019/08/13(火) 22:00:36.02ID:yoyEPk6p 日本語だと情報が少なかったので英語圏も検索してみたところ、下記を見つけました。
ここのexcess64_to_ieee754が変換できるものかもしれません。
これから調べてみます。
ttps://github.com/ulfgri/gdsii-toolbox/blob/de8deaa5972c1449aacc3eea5dda86472ef721a8/Basic/gdsio/convert_float_generic.h
ここのexcess64_to_ieee754が変換できるものかもしれません。
これから調べてみます。
ttps://github.com/ulfgri/gdsii-toolbox/blob/de8deaa5972c1449aacc3eea5dda86472ef721a8/Basic/gdsio/convert_float_generic.h
472デフォルトの名無しさん
2019/08/13(火) 22:30:02.23ID:b87Bd4Qh473395
2019/08/13(火) 23:33:41.23ID:yoyEPk6p >>472
わかりやすい解説ありがとうございます。
仮数部の計算がまだいまいち理解できていませんが、符号ビットと指数のところは理解できました。
なんとかプログラム作れそうです。
とても勉強になりました。ありがとうございました。
わかりやすい解説ありがとうございます。
仮数部の計算がまだいまいち理解できていませんが、符号ビットと指数のところは理解できました。
なんとかプログラム作れそうです。
とても勉強になりました。ありがとうございました。
474395
2019/08/14(水) 19:36:19.26ID:4qk3klko475デフォルトの名無しさん
2019/08/14(水) 19:42:18.80ID:vrcyV9Lc bit単位でもいいんだけど元の値との対応が取りにくいから16進の1文字(4bitなのでByteじゃなくてNibbleって言う)単位で計算してる
476デフォルトの名無しさん
2019/08/14(水) 20:46:53.70ID:4qk3klko そうでした。4bitでした。
今回バイナリ読みで初めてどっぷり16進数を扱ってますがバイトとニブル?がすぐわからなくなります。。
今回バイナリ読みで初めてどっぷり16進数を扱ってますがバイトとニブル?がすぐわからなくなります。。
477デフォルトの名無しさん
2019/08/15(木) 21:08:05.11ID:ICD/Kw2h バイナリ読み込むだけで大騒ぎだな
478デフォルトの名無しさん
2019/08/15(木) 23:25:44.65ID:ON8CHoCN ttp://www7b.biglobe.ne.jp/~robe/cpphtml/html02/cpp02007.html
上記URLで
・クラスの宣言はヘッダファイルにする
・クラスの実装部はソースファイルにする
・そのクラスを使いたいときはヘッダファイルのみインクルード
とありますが、これが一般的なのでしょうか?
上記URLで
・クラスの宣言はヘッダファイルにする
・クラスの実装部はソースファイルにする
・そのクラスを使いたいときはヘッダファイルのみインクルード
とありますが、これが一般的なのでしょうか?
479デフォルトの名無しさん
2019/08/15(木) 23:28:11.45ID:qONhwHDt テンプレート使ってないならそう
480デフォルトの名無しさん
2019/08/15(木) 23:28:23.18ID:NU+OkurF お前はどうしたいんだ?
481デフォルトの名無しさん
2019/08/15(木) 23:34:39.15ID:ON8CHoCN なるべく基本にのっとった書き方に慣れることで、他の人が書いているプログラムもある程度読めるようになれたら調べるときに助かりそうだと思っています。
482デフォルトの名無しさん
2019/08/16(金) 00:06:45.60ID:rFeA+cBh だからさ、そういう疑問を持つってことは
お前なりに考えた別のやり方があるんだろ?
それを書けよ
お前なりに考えた別のやり方があるんだろ?
それを書けよ
483デフォルトの名無しさん
2019/08/16(金) 06:03:18.56ID:WXGx/ZZ4 イライラしすぎw
484デフォルトの名無しさん
2019/08/16(金) 08:54:32.89ID:obgy5Xre 余裕が無いよね
485デフォルトの名無しさん
2019/08/16(金) 09:25:28.24ID:utjtXV/O 余裕ねえんだよ!
486デフォルトの名無しさん
2019/08/16(金) 12:04:34.47ID:agPg59wH どういう意味や効果があってそうしてるかじゃなくて「一般的」かどうかばかり気にしてるあたりがプログラマ向きの性格じゃなさそう
487デフォルトの名無しさん
2019/08/17(土) 01:32:10.26ID:hKQWaxIk iOSのC++の勉強アプリ何個か試してみたんだけど、未だにC++03時代の事までしか教えてないのね。
でも付属の簡易コンパイラはC++17の機能が使えたりする...
でも付属の簡易コンパイラはC++17の機能が使えたりする...
488デフォルトの名無しさん
2019/08/17(土) 09:28:18.98ID:pwn7XyQd 初心者のうちから shared_ptrやunique_ptr を積極的に使うようにしてほしい。
489デフォルトの名無しさん
2019/08/17(土) 11:16:45.62ID:AIpU/gsR いくら便利なものがあるといってもさすがにC++をナマポや自前RAIIの知識なしで使うのは不可能だから、
初心者は最初はメモリ破壊で苦しんだ方がいいと思うわ
初心者は最初はメモリ破壊で苦しんだ方がいいと思うわ
490デフォルトの名無しさん
2019/08/17(土) 18:58:14.86ID:RHoMoFJP491デフォルトの名無しさん
2019/08/17(土) 19:17:51.68ID:enMhOq0z492デフォルトの名無しさん
2019/08/17(土) 19:24:45.74ID:RHoMoFJP493デフォルトの名無しさん
2019/08/17(土) 20:52:47.23ID:pwn7XyQd マクロは名前空間に閉じ込めることができないからしょうがない
494デフォルトの名無しさん
2019/08/17(土) 21:44:27.19ID:TZKhKhX1 VCはソースを全てBOM付きのutf8にすれば通るんじゃないかな。
495デフォルトの名無しさん
2019/08/18(日) 00:23:19.08ID:rdsOEwya 「一般的」な書き方とは何か
考えざるを得ない流れ
考えざるを得ない流れ
496デフォルトの名無しさん
2019/08/18(日) 01:17:05.19ID:+Tl4M3zk VC使うならForceAllUTF8入れとけ
497デフォルトの名無しさん
2019/08/18(日) 09:44:27.51ID:S9bN8HAf #define 違うなら else
これは もしくは の方がいいんじゃねえか?
これは もしくは の方がいいんじゃねえか?
498デフォルトの名無しさん
2019/08/18(日) 09:51:15.20ID:aqKQgKLg499デフォルトの名無しさん
2019/08/18(日) 10:01:09.98ID:X/aF/qdA >>80
>Pythonは「CPythonの実装が規格だ」だし
それrubyと勘違いしてないか?
明文化されていない仕様なんてそんなに残っていないと思うが。
あと、MATLABはアカデミック分野では少なくともRやOctaveなんかより
信用されていると思うよ。
>Pythonは「CPythonの実装が規格だ」だし
それrubyと勘違いしてないか?
明文化されていない仕様なんてそんなに残っていないと思うが。
あと、MATLABはアカデミック分野では少なくともRやOctaveなんかより
信用されていると思うよ。
500デフォルトの名無しさん
2019/08/18(日) 10:03:59.09ID:X/aF/qdA 間違えて一か月も前のレス付けてしまった///
501デフォルトの名無しさん
2019/08/18(日) 10:49:51.48ID:kvaoi5YP make環境を作ると更新ファイルだけコンパイルしてくれたり、色々便利そうなので
コンパイルコマンド直たたきからmake環境に移行しようと考えています。
下記で正常動作しているので、これでmake環境を作りたいと考えていますが
「c++ make」で検索してもあまり情報がないため苦戦しています。
どのように書けば良いかわかりますか?もしくは参考のURLなどあれば教えていただけないでしょうか。
#!/bin/sh -
export CC=~local/bin/gcc
export CXX=~local/bin/g++
g++ -c -g -Wall -pthread -std=c++11 ./Func.cpp -lm -lz -Wextra -o Func.o &&
g++ -c -g -Wall -pthread -std=c++11 ./Main.cpp -lm -lz -Wextra -o Main.o &&
g++ Main.o Func.o -o main.exe -lz
コンパイルコマンド直たたきからmake環境に移行しようと考えています。
下記で正常動作しているので、これでmake環境を作りたいと考えていますが
「c++ make」で検索してもあまり情報がないため苦戦しています。
どのように書けば良いかわかりますか?もしくは参考のURLなどあれば教えていただけないでしょうか。
#!/bin/sh -
export CC=~local/bin/gcc
export CXX=~local/bin/g++
g++ -c -g -Wall -pthread -std=c++11 ./Func.cpp -lm -lz -Wextra -o Func.o &&
g++ -c -g -Wall -pthread -std=c++11 ./Main.cpp -lm -lz -Wextra -o Main.o &&
g++ Main.o Func.o -o main.exe -lz
502デフォルトの名無しさん
2019/08/18(日) 10:59:16.60ID:ToM84NKx 正常動作してんだったらそれでいいじゃん
503デフォルトの名無しさん
2019/08/18(日) 11:14:15.09ID:OLPPr8ZD 前半のexportが謎
504デフォルトの名無しさん
2019/08/18(日) 11:22:19.79ID:aqKQgKLg >>501
簡単に言えばMakefileに
作ってほしいファイル名: そのファイルを作るのに必要なファイル
(タブ(なぜか空白はダメ))作るためのコマンド
をズラズラ書いておけばいい
なのでその例だと
Func.o: Func.cpp
g++ -c -g -Wall -pthread -std=c++11 ./Func.cpp -lm -lz -Wextra -o Func.o
Main.o: Main.cpp
g++ -c -g -Wall -pthread -std=c++11 ./Main.cpp -lm -lz -Wextra -o Main.o
Main.exe: Main.o Func.m
g++ Main.o Func.o -o main.exe -lz
って書いておいて(わかると思うがg++の前はタブな)
make Main.exe
ってやればいい
毎回Main.exeを指定するのが面倒なら
Main.exe: Main.o Func.m
g++ Main.o Func.o -o main.exe -lz
の行を一番上に持って行けば make だけで作成できる
(makeは指定がないと最初に見つけた作りたいファイルを作ろうとする)
簡単に言えばMakefileに
作ってほしいファイル名: そのファイルを作るのに必要なファイル
(タブ(なぜか空白はダメ))作るためのコマンド
をズラズラ書いておけばいい
なのでその例だと
Func.o: Func.cpp
g++ -c -g -Wall -pthread -std=c++11 ./Func.cpp -lm -lz -Wextra -o Func.o
Main.o: Main.cpp
g++ -c -g -Wall -pthread -std=c++11 ./Main.cpp -lm -lz -Wextra -o Main.o
Main.exe: Main.o Func.m
g++ Main.o Func.o -o main.exe -lz
って書いておいて(わかると思うがg++の前はタブな)
make Main.exe
ってやればいい
毎回Main.exeを指定するのが面倒なら
Main.exe: Main.o Func.m
g++ Main.o Func.o -o main.exe -lz
の行を一番上に持って行けば make だけで作成できる
(makeは指定がないと最初に見つけた作りたいファイルを作ろうとする)
505デフォルトの名無しさん
2019/08/18(日) 11:59:20.99ID:XCKtcmfj >>501
以下の文献とオライリーのGNUmake読んで、あとは自分で考えるのが良い。
http://aegis.sourceforge.net/auug97.pdf
この辺り、まともに理解してる奴が本当に少ないから。
だからconstexprとかboostとかクソみたいなものをありがたがるんだろうなと思う。
以下の文献とオライリーのGNUmake読んで、あとは自分で考えるのが良い。
http://aegis.sourceforge.net/auug97.pdf
この辺り、まともに理解してる奴が本当に少ないから。
だからconstexprとかboostとかクソみたいなものをありがたがるんだろうなと思う。
506デフォルトの名無しさん
2019/08/18(日) 12:02:21.51ID:YNXq+wty ビルドツール選びの時にC++の言語機能をたたく理由がわからない。
507デフォルトの名無しさん
2019/08/18(日) 12:06:43.92ID:XCKtcmfj508デフォルトの名無しさん
2019/08/18(日) 12:20:14.52ID:aqKQgKLg > ビルドと言語機能は綿密に絡み合ってるから。
具体例の1つも出せないクズ乙
具体例の1つも出せないクズ乙
509デフォルトの名無しさん
2019/08/18(日) 12:24:12.06ID:XCKtcmfj >>508
505の内容見て具体例に思えないようならもう話すことはないな。
505の内容見て具体例に思えないようならもう話すことはないな。
510デフォルトの名無しさん
2019/08/18(日) 12:25:58.38ID:+Tl4M3zk > タブ(なぜか空白はダメ)
こういうところがクソ
こういうところがクソ
511デフォルトの名無しさん
2019/08/18(日) 12:32:36.07ID:rdsOEwya 「else」は「さもなくば」
512デフォルトの名無しさん
2019/08/18(日) 12:35:03.02ID:rdsOEwya Makeは古い
AntかMavenかGradle使え、
いや知らんけど
AntかMavenかGradle使え、
いや知らんけど
513デフォルトの名無しさん
2019/08/18(日) 12:39:00.99ID:4oEGaRbg >>509
ああ、そのまま黙っていてくれ。
ああ、そのまま黙っていてくれ。
514デフォルトの名無しさん
2019/08/18(日) 12:43:59.27ID:aqKQgKLg >>509
はい、逃げたーw
はい、逃げたーw
515デフォルトの名無しさん
2019/08/18(日) 12:54:48.15ID:rdsOEwya 素のMakefileは最終的なオブジェクトファイルとヘッダファイルの依存関係を書き下すのが大変に面倒臭い
なぜなら、
Target: Dependencies1 Dependencies2 ...
(TAB)Command
という記述において、Commandが具体的にTargetお生成しないと事実上立ち行かないので、
インクルードファイルAがインクルードファイルB、Cをインクルードしているという状況を
A: B C
(TAB)echo Hello World!
などと書くわけには逝かず、あくまで
foo.obj : foo.cc A B C
(TAB)gcc foo.cc
式に.objなターゲットに対して関連付けねばならない
ファイルがあるだけで勝手にヘッダファイルの依存関係を解決させることは
GNU Makeの昨日とシェルコマンドを組み合わせてできた気がするが(忘れた
たかがこれだけのためになんでそんな糞面倒なことをせねばならんのじゃ、というキモス
※ 個人の感想です
なぜなら、
Target: Dependencies1 Dependencies2 ...
(TAB)Command
という記述において、Commandが具体的にTargetお生成しないと事実上立ち行かないので、
インクルードファイルAがインクルードファイルB、Cをインクルードしているという状況を
A: B C
(TAB)echo Hello World!
などと書くわけには逝かず、あくまで
foo.obj : foo.cc A B C
(TAB)gcc foo.cc
式に.objなターゲットに対して関連付けねばならない
ファイルがあるだけで勝手にヘッダファイルの依存関係を解決させることは
GNU Makeの昨日とシェルコマンドを組み合わせてできた気がするが(忘れた
たかがこれだけのためになんでそんな糞面倒なことをせねばならんのじゃ、というキモス
※ 個人の感想です
516デフォルトの名無しさん
2019/08/18(日) 13:00:42.47ID:26pp6bRY Ruby のRake, Thor などのタスクランナーで、コンパイル出来ないのか?
Webpack, Gulp とか
Webpack, Gulp とか
517デフォルトの名無しさん
2019/08/18(日) 13:02:29.42ID:XgJSnVlI C++のモジュールシステムはいけてないよね
という話ならわかるが、
constexprとboost?
全く意味がわからねぇ
という話ならわかるが、
constexprとboost?
全く意味がわからねぇ
518デフォルトの名無しさん
2019/08/18(日) 13:07:44.93ID:rJ9LPM9I >>515
そこは gcc -M 類の出番。まぁ面倒なのは変わらないんだろうけど。
そこは gcc -M 類の出番。まぁ面倒なのは変わらないんだろうけど。
519デフォルトの名無しさん
2019/08/18(日) 13:34:10.37ID:jp7+H4+a 一応昔はコンパイル単位がすなわちモジュールとして機能していたはずだったのに、どこで間違えたんだろうな
520デフォルトの名無しさん
2019/08/18(日) 14:46:24.52ID:aqKQgKLg >>501
簡単に言えばMakefileに
作ってほしいファイル名: そのファイルを作るのに必要なファイル
(タブ(なぜか空白はダメ))作るためのコマンド
をズラズラ書いておけばいい
なのでその例だと
Func.o: Func.cpp
g++ -c -g -Wall -pthread -std=c++11 ./Func.cpp -lm -lz -Wextra -o Func.o
Main.o: Main.cpp
g++ -c -g -Wall -pthread -std=c++11 ./Main.cpp -lm -lz -Wextra -o Main.o
Main.exe: Main.o Func.m
g++ Main.o Func.o -o main.exe -lz
って書いておいて make Makefile Main.exe
簡単に言えばMakefileに
作ってほしいファイル名: そのファイルを作るのに必要なファイル
(タブ(なぜか空白はダメ))作るためのコマンド
をズラズラ書いておけばいい
なのでその例だと
Func.o: Func.cpp
g++ -c -g -Wall -pthread -std=c++11 ./Func.cpp -lm -lz -Wextra -o Func.o
Main.o: Main.cpp
g++ -c -g -Wall -pthread -std=c++11 ./Main.cpp -lm -lz -Wextra -o Main.o
Main.exe: Main.o Func.m
g++ Main.o Func.o -o main.exe -lz
って書いておいて make Makefile Main.exe
521520
2019/08/18(日) 14:48:27.09ID:aqKQgKLg スマン、間違えて二重投稿になっちまった
522501
2019/08/18(日) 14:57:48.84ID:kvaoi5YP >>503
CC, CXXは個別インストールしているgccがあり、以前何かのモジュールをインストールしたときに、元からある
/usr/bin/g++
に関連したライブラリパスが使われることがありこれを設定しました。
今回の単純コンパイルには不要かもしれませんが、おまじないで残していました。
>>504
ありがとうございます。
基本はコマンドを並べていけばいいんですね。
何も指定しない時には先頭のものを指定したことと同じになることも参考になりました。
>>505
このあたりもちゃんと理解できるようになりたいです。
少しづつ勉強したいと思います。
>>512
こんなのもあるんですね。
これも調べてみたいと思います。
CC, CXXは個別インストールしているgccがあり、以前何かのモジュールをインストールしたときに、元からある
/usr/bin/g++
に関連したライブラリパスが使われることがありこれを設定しました。
今回の単純コンパイルには不要かもしれませんが、おまじないで残していました。
>>504
ありがとうございます。
基本はコマンドを並べていけばいいんですね。
何も指定しない時には先頭のものを指定したことと同じになることも参考になりました。
>>505
このあたりもちゃんと理解できるようになりたいです。
少しづつ勉強したいと思います。
>>512
こんなのもあるんですね。
これも調べてみたいと思います。
523501
2019/08/18(日) 15:01:32.97ID:kvaoi5YP >>512
それらが make に比して優れた点はなんでしょうか?
それらが make に比して優れた点はなんでしょうか?
525デフォルトの名無しさん
2019/08/18(日) 17:11:35.03ID:ToM84NKx526デフォルトの名無しさん
2019/08/18(日) 18:18:09.60ID:1zrPBBLI >>525
binutilsを使う例として、具体的にはどういうことがありますか?
binutilsを使う例として、具体的にはどういうことがありますか?
527デフォルトの名無しさん
2019/08/18(日) 18:19:29.10ID:XCKtcmfj なんなんだろうなこの「俺に手取り足取り教えろ」みたいな要求は。
528デフォルトの名無しさん
2019/08/18(日) 18:30:04.45ID:J+MNWXO/ お前には聞いてないから気にしなくていいぞ
530デフォルトの名無しさん
2019/08/18(日) 19:34:00.82ID:OLPPr8ZD 変なの居るなw
531デフォルトの名無しさん
2019/08/18(日) 19:35:39.45ID:ToM84NKx スキル不足なのに見下してるやつに教えてやる義理はないんだよね
逃げますね
逃げますね
532デフォルトの名無しさん
2019/08/18(日) 19:40:22.27ID:l1trUFc3 私はneson/ninjaがおぬぬめ🌱
533デフォルトの名無しさん
2019/08/18(日) 22:23:44.93ID:JoepZ2Id >>525
国際標準になってないbinutilsなんて使ったら、環境依存でコンパイル通らなくなったりする。
国際標準になってないbinutilsなんて使ったら、環境依存でコンパイル通らなくなったりする。
534デフォルトの名無しさん
2019/08/19(月) 03:39:22.51ID:uhqBoit2 VC++2017で std::string str = "abcd";ってやると
debugモードだとビルドできてるのに
ReleaseモードだとLNK2001エラーが出てしまいます
他に何か宣言かlibがいるのでしょうか
昨日一日この点で一日悪戦苦闘していました
ちなみにプロジェクトはコンソールアプリで
リンカーのシステムは処理の都合上、Windows(/SUBSYSTEM:WINDOWS)にしてあります
debugモードだとビルドできてるのに
ReleaseモードだとLNK2001エラーが出てしまいます
他に何か宣言かlibがいるのでしょうか
昨日一日この点で一日悪戦苦闘していました
ちなみにプロジェクトはコンソールアプリで
リンカーのシステムは処理の都合上、Windows(/SUBSYSTEM:WINDOWS)にしてあります
535デフォルトの名無しさん
2019/08/19(月) 06:43:15.57ID:tEbkN2rV プロジェクトの構成変更したときにDebug版だけ変えたとかじゃねえの
536デフォルトの名無しさん
2019/08/19(月) 06:56:44.40ID:bPMhHkYv537デフォルトの名無しさん
2019/08/19(月) 07:12:08.46ID:p1963chb538デフォルトの名無しさん
2019/08/19(月) 09:00:35.28ID:uhqBoit2539デフォルトの名無しさん
2019/08/19(月) 09:12:20.21ID:uhqBoit2 VC++2017でコンソールアプリとしてプロジェクトを立ち上げました。
しかし、コンソール(dos窓)を非表示にするべく
構成プロパティのリンカー→システム→サブシステムを
Windows(/SUBSYSTEM:WINDOWS)にしてwindows.hをincludeして
int main(void)からint WINAPI WinMain(void)に変更してビルドすると
「C2731 'WinMain':関数はオーバーロードできません」と言われました。
構成プロパティのリンカー→詳細設定→エントリ ポイントをmainにしてビルドしても
結果は変わらず、int main(void)に戻すと大量にエラーが発生しました。
この場合、どうすればよろしいのでしょう?
しかし、コンソール(dos窓)を非表示にするべく
構成プロパティのリンカー→システム→サブシステムを
Windows(/SUBSYSTEM:WINDOWS)にしてwindows.hをincludeして
int main(void)からint WINAPI WinMain(void)に変更してビルドすると
「C2731 'WinMain':関数はオーバーロードできません」と言われました。
構成プロパティのリンカー→詳細設定→エントリ ポイントをmainにしてビルドしても
結果は変わらず、int main(void)に戻すと大量にエラーが発生しました。
この場合、どうすればよろしいのでしょう?
540デフォルトの名無しさん
2019/08/19(月) 09:16:19.09ID:dFJ5NqVw WinMainのシグネチャが違う
541デフォルトの名無しさん
2019/08/19(月) 09:16:37.96ID:pYNmdJ6B >>539
エラーメッセージにしたがって修正すればよろしいですよ。
エラーメッセージにしたがって修正すればよろしいですよ。
542デフォルトの名無しさん
2019/08/19(月) 09:37:33.04ID:rfX59j2s543デフォルトの名無しさん
2019/08/19(月) 09:40:50.85ID:uhqBoit2 >>540-541
ありがとうございます。
以前ググって見つけたものをだまされたと思って
int WINAPI WinMain(void)から
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char* lpCmdLine, int nCmdShow)に
変更したらReleaseモードでも上手くいきました。
でも、元が(void)なんで、引数の設定に釈然としないところありますが…
ありがとうございます。
以前ググって見つけたものをだまされたと思って
int WINAPI WinMain(void)から
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char* lpCmdLine, int nCmdShow)に
変更したらReleaseモードでも上手くいきました。
でも、元が(void)なんで、引数の設定に釈然としないところありますが…
544デフォルトの名無しさん
2019/08/19(月) 09:43:45.91ID:uhqBoit2545デフォルトの名無しさん
2019/08/19(月) 10:35:27.56ID:bcOlNC6N boostなしで128ビット複素数を使う最もシンプルな方法ってなんですか?
546デフォルトの名無しさん
2019/08/19(月) 13:02:54.66ID:Bn3yVmZh complex<__int128_t>
547デフォルトの名無しさん
2019/08/19(月) 15:12:55.94ID:bov4igyL548デフォルトの名無しさん
2019/08/19(月) 15:33:17.41ID:Kz64oJjl 複素数関係ないじゃん…
549さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/08/19(月) 15:36:02.76ID:5pda5jNo コスキュー、シンキューじゃあかんの?
コサインクアドラント、サインクアドラント
コサインクアドラント、サインクアドラント
550デフォルトの名無しさん
2019/08/19(月) 21:07:56.83ID:thJnfNrr 4倍精度ライブラリでまともな速度出るものってないのでは。
551デフォルトの名無しさん
2019/08/19(月) 21:14:48.68ID:78Wz1qhX template+constexpr => これ最強!!!
552デフォルトの名無しさん
2019/08/19(月) 21:20:16.93ID:uC0UGtuo C++20でようやく使っても良いかな程度
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★3 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★8 [蚤の市★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 【食】「シャウエッセンは焼くべからず」暗黙のルールを破り売上高過去最高…日本ハム社員たちが「夜味」にかけた情熱 [ぐれ★]
- どこだ?強ええええバキぼんやは????
- ( ´・ω・` )どいてもらえます?
- 【埼玉】34歳無職、置き配📦を盗みまくる!その数、400点!😱 [718678614]
- 福井県民に頭おかしくされて悔しいからスレ立て
- 【MLB】打率3割と2桁ホームランを達成した日本人はイチロー、松井、大谷だけ←これ
- なあ、「石破さんにもう一回やって頂く」って選択肢って…ないか? [976717553]
