スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。
過去ログ
01 http://pc11.2ch.net/test/read.cgi/tech/1167476845/
02 http://pc11.2ch.net/test/read.cgi/tech/1178503366/
03 http://pc11.2ch.net/test/read.cgi/tech/1187521676/
04 http://pc11.2ch.net/test/read.cgi/tech/1221633708/
05 http://pc11.2ch.net/test/read.cgi/tech/1230516307/
06 http://pc11.2ch.net/test/read.cgi/tech/1231564903/
07 http://pc11.2ch.net/test/read.cgi/tech/1232983248/
08 http://pc12.2ch.net/test/read.cgi/tech/1235921779/
09 http://pc12.2ch.net/test/read.cgi/tech/1240022781/
10 http://pc12.2ch.net/test/read.cgi/tech/1242300936/
11 http://pc12.2ch.net/test/read.cgi/tech/1245059383/
12 http://pc12.2ch.net/test/read.cgi/tech/1248010352/
13 http://pc12.2ch.net/test/read.cgi/tech/1260842197/
14 http://pc12.2ch.net/test/read.cgi/tech/1269273471/
15 http://pc12.2ch.net/test/read.cgi/tech/1273368706/
16 http://hibari.2ch.net/test/read.cgi/tech/1279285647/
17 http://hibari.2ch.net/test/read.cgi/tech/1285115590/
18 http://hibari.2ch.net/test/read.cgi/tech/1291571263/
19 http://hibari.2ch.net/test/read.cgi/tech/1308106024/
20 http://toro.2ch.net/test/read.cgi/tech/1316013463/
21 http://toro.2ch.net/test/read.cgi/tech/1342285511/
22 http://peace.2ch.net/test/read.cgi/tech/1399911167/
23 http://peace.2ch.net/test/read.cgi/tech/1420379468/
24 http://echo.2ch.net/test/read.cgi/tech/1448685034/
スレを勃てるまでもないC/C++の質問はここで 25 [隔離病棟]©2ch.net
2016/08/14(日) 00:04:05.53ID:z6U1tRVC
314デフォルトの名無しさん
2018/01/28(日) 12:20:06.50ID:Y4YkWHjI というか、
>2進で書いたってなんの解決にもならんよwww
これが否定されたのがそんなに我慢ならなかったのか
>2進で書いたってなんの解決にもならんよwww
これが否定されたのがそんなに我慢ならなかったのか
315デフォルトの名無しさん
2018/01/28(日) 13:17:58.45ID:YQxX9lfa > double分の計算が必要
むしろこっち否定しろよw
むしろこっち否定しろよw
316デフォルトの名無しさん
2018/02/01(木) 14:07:29.89ID:BjxdiDzB 二進リテラルでええやろ
それかstd::nextafterで切り上げるか切り下げるか
それかstd::nextafterで切り上げるか切り下げるか
317デフォルトの名無しさん
2018/02/01(木) 20:59:41.19ID:uG0JSReu 二進リテラルはいいが、nextafterはちょい違うな。
318デフォルトの名無しさん
2018/02/02(金) 10:30:51.76ID:ahF+s6Dw 2進小数を10進小数に変換出来るツールの提供と
リテラル記述箇所へのコメント
現実的な解はこの辺かと
リテラル記述箇所へのコメント
現実的な解はこの辺かと
319デフォルトの名無しさん
2018/02/02(金) 12:14:54.40ID:NAEfRvIa そういう設計にするとバグ出まくり。しかも発見が非常に困難
普通に仮数部足す関数作ってそれかましておけばいいでしょ
普通に仮数部足す関数作ってそれかましておけばいいでしょ
320デフォルトの名無しさん
2018/02/02(金) 13:00:05.92ID:ahF+s6Dw 足す?
何を?
どうやって?
何を?
どうやって?
321デフォルトの名無しさん
2018/02/02(金) 13:15:59.60ID:NAEfRvIa 力技でビット演算してもいいし、仮数部1ビットだけ建てたの用意して普通に加算してもいいでしょ
322デフォルトの名無しさん
2018/02/09(金) 16:44:31.74ID:9b+Wa+Ns hoge(int *) という関数があり、hoge(&a) とすれば a に値を返す仕組みとします。
ここで、char a をキャストして hoge((int *)&a) として実行した場合、意図した結果が返されない
ケースがあるのはいいとして、他に問題はありますか?
例えば、hoge()自身は渡されたものが int のポインターなんだから char 以上のメモリー範囲を
超えて書き込むからメモリーが破壊されるといったことが起こりますか?
ここで、char a をキャストして hoge((int *)&a) として実行した場合、意図した結果が返されない
ケースがあるのはいいとして、他に問題はありますか?
例えば、hoge()自身は渡されたものが int のポインターなんだから char 以上のメモリー範囲を
超えて書き込むからメモリーが破壊されるといったことが起こりますか?
323片山博文MZ ◆T6xkBnTXz7B0
2018/02/09(金) 17:01:41.47ID:owaGciqs >>322
最適化を無効にして
char ab = 0x7F;
char a;
char aa = 0x7F;
hoge((int*)&a);
printf("%d, %d, %d\n", ab, a, aa);
で試してみて。
最適化を無効にして
char ab = 0x7F;
char a;
char aa = 0x7F;
hoge((int*)&a);
printf("%d, %d, %d\n", ab, a, aa);
で試してみて。
324デフォルトの名無しさん
2018/02/09(金) 17:32:12.48ID:9b+Wa+Ns >>323
既に稼働してるシステムで上記の箇所を見つけはしたものの、何食わぬ顔をして動いていたので
疑問に感じていましたが、新規プロジェクトで試したら一発でしたね。
スタックオーバーフローでした。
どうもありがとうございました。
既に稼働してるシステムで上記の箇所を見つけはしたものの、何食わぬ顔をして動いていたので
疑問に感じていましたが、新規プロジェクトで試したら一発でしたね。
スタックオーバーフローでした。
どうもありがとうございました。
325デフォルトの名無しさん
2018/02/09(金) 20:59:14.12ID:9QnGJOcV >>322
条件によっちゃよくやる
例えば
char a,b,c,d;
こんなのでaのアドレスに対してint読み出しかけて、abcdくっつけたint16値を取り出すとか
その逆にint16値をaにキャストしてabcd個別にアクセスとか
ただ連続したメモリ空間に入らないことがあるから、
その辺はstructでまとめたり、pragma packやら何やらで指定しとくとか、プラットフォームとコンパイラに合わせる
条件によっちゃよくやる
例えば
char a,b,c,d;
こんなのでaのアドレスに対してint読み出しかけて、abcdくっつけたint16値を取り出すとか
その逆にint16値をaにキャストしてabcd個別にアクセスとか
ただ連続したメモリ空間に入らないことがあるから、
その辺はstructでまとめたり、pragma packやら何やらで指定しとくとか、プラットフォームとコンパイラに合わせる
326デフォルトの名無しさん
2018/02/10(土) 09:55:27.64ID:sEVENX79327デフォルトの名無しさん
2018/02/10(土) 10:44:47.90ID:A/uZfZpr unionで書いたほうがスマートなこともあるな。その逆なこともある
動作自体は何使っても同じだから、ソースの見やすさやclass設計考えながら選択したらいい
動作自体は何使っても同じだから、ソースの見やすさやclass設計考えながら選択したらいい
328デフォルトの名無しさん
2018/02/16(金) 01:33:43.00ID:Ja2iVc8/ 構造体の、一部のみゼロ埋めする方法を知りたいです
CコンパイラはMingw-win32のgcc 6.3.0を使ってます
struct aaa_tag{
uint32_t a;
uint32_t b;
uint32_t c;
:
uint32_t z;
}
という構造体に、fread(&aaa, sizeof(aaa), 1, fp)でファイルから値を読み込んでいるのですが
実は構造体としてファイルから読み込むべきサイズが条件により変える必要があります
例えば以下のようにです
・bが1の場合は有効なのはaとbのみ。c以降の値はゼロで書き戻す
・bが5の場合は有効なのはa〜wまで。x以降の値はゼロに書き戻す
まずbを読んで、それから必要なサイズを読み出す…も考えたのですがそうではなく、
構造体の途中以降をゼロクリアしようと思っているのですが、これがうまくいきません
if (b == 1)memset(&aaa + sizeof(uint32_t) * 2, 0x00, sizeof(aaa) - sizeof(uint32_t));
等と試行錯誤しているのですが、SIGSEGVが出てしまいます
解決法を教えていただけますか
CコンパイラはMingw-win32のgcc 6.3.0を使ってます
struct aaa_tag{
uint32_t a;
uint32_t b;
uint32_t c;
:
uint32_t z;
}
という構造体に、fread(&aaa, sizeof(aaa), 1, fp)でファイルから値を読み込んでいるのですが
実は構造体としてファイルから読み込むべきサイズが条件により変える必要があります
例えば以下のようにです
・bが1の場合は有効なのはaとbのみ。c以降の値はゼロで書き戻す
・bが5の場合は有効なのはa〜wまで。x以降の値はゼロに書き戻す
まずbを読んで、それから必要なサイズを読み出す…も考えたのですがそうではなく、
構造体の途中以降をゼロクリアしようと思っているのですが、これがうまくいきません
if (b == 1)memset(&aaa + sizeof(uint32_t) * 2, 0x00, sizeof(aaa) - sizeof(uint32_t));
等と試行錯誤しているのですが、SIGSEGVが出てしまいます
解決法を教えていただけますか
329片山博文MZ ◆T6xkBnTXz7B0
2018/02/16(金) 06:04:46.72ID:tdYV0Px7 上から順番に読み込むか、fseekで読み込み位置まで移動してから読み込む。
位置はoffsetofとかFIELD_OFFSETという名前のマクロを使う。そのようなマクロがない場合は自作する。
読み込むときは、位置とバイトサイズによく注意すること。また、NULLや無効な場所に読み込んではいけない。
位置はoffsetofとかFIELD_OFFSETという名前のマクロを使う。そのようなマクロがない場合は自作する。
読み込むときは、位置とバイトサイズによく注意すること。また、NULLや無効な場所に読み込んではいけない。
330デフォルトの名無しさん
2018/02/16(金) 06:11:24.04ID:W1XJdyx1 ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
331デフォルトの名無しさん
2018/02/16(金) 06:26:26.41ID:6scYlSnj >>328
セグメンテーションフォールトを起こす直接の原因は、
memset() の第1引数 &aaa + sizeof(uint32_t) * 2 の部分だろうね。
printf("%p\n", &aaa);
printf("%p\n", &aaa.c);
printf("%p\n", &aaa + sizeof(uint32_t) * 2);
上の3行の出力を比較検討すると理屈が分かると思うけど説明は長くなる。
というか、俺にはポインタ加算について短く平易に説明する能力がない。
#include <stddef.h> // offsetof()マクロの定義
if (b == 1)memset(&aaa.c, 0x00, sizeof(aaa) - offsetof(struct aaa_tag, c);
で動くと思うけど、
ダミーの構造体に読み込んでから、bの値を見て有効な部分だけ
(あらかじめ0クリアしておいた)返却用の構造体にコピー、とする方が素直かも。
セグメンテーションフォールトを起こす直接の原因は、
memset() の第1引数 &aaa + sizeof(uint32_t) * 2 の部分だろうね。
printf("%p\n", &aaa);
printf("%p\n", &aaa.c);
printf("%p\n", &aaa + sizeof(uint32_t) * 2);
上の3行の出力を比較検討すると理屈が分かると思うけど説明は長くなる。
というか、俺にはポインタ加算について短く平易に説明する能力がない。
#include <stddef.h> // offsetof()マクロの定義
if (b == 1)memset(&aaa.c, 0x00, sizeof(aaa) - offsetof(struct aaa_tag, c);
で動くと思うけど、
ダミーの構造体に読み込んでから、bの値を見て有効な部分だけ
(あらかじめ0クリアしておいた)返却用の構造体にコピー、とする方が素直かも。
332デフォルトの名無しさん
2018/02/16(金) 12:40:06.06ID:6scYlSnj カッコの対応が合ってないね。
× if (b == 1)memset(&aaa.c, 0x00, sizeof(aaa) - offsetof(struct aaa_tag, c);
○ if (b == 1)memset(&aaa.c, 0x00, sizeof(aaa) - offsetof(struct aaa_tag, c));
× if (b == 1)memset(&aaa.c, 0x00, sizeof(aaa) - offsetof(struct aaa_tag, c);
○ if (b == 1)memset(&aaa.c, 0x00, sizeof(aaa) - offsetof(struct aaa_tag, c));
333デフォルトの名無しさん
2018/02/16(金) 20:12:13.91ID:hi0D4ZsY >>328
構造体のアラインメントでぐぐれ
構造体のアラインメントでぐぐれ
334デフォルトの名無しさん
2018/02/16(金) 20:28:30.02ID:Ja2iVc8/ 328です
皆様情報ありがとうございました
構造体先頭から末尾までのmemsetとは事情が違うということが分かりました
offsetof()やダミーの構造体など、方針を見直します
ありがとうございました
皆様情報ありがとうございました
構造体先頭から末尾までのmemsetとは事情が違うということが分かりました
offsetof()やダミーの構造体など、方針を見直します
ありがとうございました
335デフォルトの名無しさん
2018/02/16(金) 21:00:38.75ID:hi0D4ZsY だからアラインメントでぐぐれって・・・
それむこうにすればできるから
それむこうにすればできるから
336デフォルトの名無しさん
2018/02/16(金) 21:26:52.07ID:5NiD1AgL 328のセグフォはアドレスとポインタの違いが分からない時にやらかすミス
337デフォルトの名無しさん
2018/02/16(金) 22:05:59.54ID:qDhjnryl アライメント無視して詰め込むとミスってバスエラーになるからやらないな
338デフォルトの名無しさん
2018/02/16(金) 22:59:31.13ID:IhCFworu339デフォルトの名無しさん
2018/02/16(金) 23:35:42.63ID:wAiK151t >>336が正解だろう。アライメントは関係ない。
340デフォルトの名無しさん
2018/02/16(金) 23:47:57.54ID:Ja2iVc8/ >>335
アライメントについては、OS、アプリ共に32ビットであり、
メンバも32ビットに揃える(パディングはさせない)ように
考慮されてはいるので、無効にしてみましたが変化はなさそうです
__attribute__ ((packed))付与有無でsizeof(aaa)としてみましたが、
どちらも4バイト×メンバ数となり、やぱりパディングは
されていないのかなと
>>336
構造体は、パディングに関わらず先頭以外の場所へmemsetやmemcpyで
触ってはならないのだろう、という思いに至り、方針を見直そうと思ったのですが
実際、書くとしたらどう書くことになるのでしょう
例えば、a〜zまで並べられているメンバ中、cからyまでゼロで埋める…みたいなので…
アライメントについては、OS、アプリ共に32ビットであり、
メンバも32ビットに揃える(パディングはさせない)ように
考慮されてはいるので、無効にしてみましたが変化はなさそうです
__attribute__ ((packed))付与有無でsizeof(aaa)としてみましたが、
どちらも4バイト×メンバ数となり、やぱりパディングは
されていないのかなと
>>336
構造体は、パディングに関わらず先頭以外の場所へmemsetやmemcpyで
触ってはならないのだろう、という思いに至り、方針を見直そうと思ったのですが
実際、書くとしたらどう書くことになるのでしょう
例えば、a〜zまで並べられているメンバ中、cからyまでゼロで埋める…みたいなので…
341デフォルトの名無しさん
2018/02/17(土) 00:10:47.04ID:OoNlElF9 &aaa+1はaaaの外を指す
342デフォルトの名無しさん
2018/02/17(土) 00:34:30.85ID:2kmwzB0g343デフォルトの名無しさん
2018/02/18(日) 12:45:11.42ID:SXTB1pky C#の質問なのですがスレが他に無いのでここで質問させてください。
VisualStudio2017でDLLの作成をしようと思っています。
DLLプロジェクトのなかでSystem.ConsoleやSystem.IO.Pathクラスを使用したいのですができません。
「現在のコンテキストに 'Path' という名前は存在しません。」というエラーです。
コンソールアプリのプロジェクトなら問題なく使用できます。
どうすればDLLのプロジェクトでも使用できるようになりますか?
VisualStudio2017でDLLの作成をしようと思っています。
DLLプロジェクトのなかでSystem.ConsoleやSystem.IO.Pathクラスを使用したいのですができません。
「現在のコンテキストに 'Path' という名前は存在しません。」というエラーです。
コンソールアプリのプロジェクトなら問題なく使用できます。
どうすればDLLのプロジェクトでも使用できるようになりますか?
344デフォルトの名無しさん
2018/02/18(日) 13:17:23.84ID:G+NN3epc ふらっと C#,C♯,C#(初心者用) Part135
ttps://mevius.5ch.net/test/read.cgi/tech/1517749348/
C#, C♯, C#相談室 Part95
ttps://mevius.5ch.net/test/read.cgi/tech/1508180530/
あたりじゃダメなん?
ttps://mevius.5ch.net/test/read.cgi/tech/1517749348/
C#, C♯, C#相談室 Part95
ttps://mevius.5ch.net/test/read.cgi/tech/1508180530/
あたりじゃダメなん?
345デフォルトの名無しさん
2018/02/18(日) 14:14:22.93ID:SXTB1pky346デフォルトの名無しさん
2018/05/23(水) 20:32:19.60ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
17PZB
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
17PZB
347デフォルトの名無しさん
2018/05/28(月) 09:03:11.75ID:PxBGvXZO c++のライブラリでこれと言った具体例ではないのですかマニュアル通りにやってもissueを見ても上手く動かせないものがあります
そういう時はどういう様に解決すれば良いのでしょうか?
おすすめのデバッグ方法などがあればよろしくお願いします
そういう時はどういう様に解決すれば良いのでしょうか?
おすすめのデバッグ方法などがあればよろしくお願いします
348デフォルトの名無しさん
2018/05/28(月) 10:00:59.91ID:By7WF+qf 使用をあきらめる
とことん追う
コードを公開して助けを得る
とことん追う
コードを公開して助けを得る
349デフォルトの名無しさん
2018/05/28(月) 10:47:43.80ID:PxBGvXZO350放置された蟻人間 ◆T6xkBnTXz7B0
2018/05/28(月) 11:51:19.10ID:gPZUZ1ZE IDEを使ってビルド・ステップ実行すれば、素人でも実行の様子を観察できる。ただし、GUIのあるプログラムを調べるには、ブレークポイントを設定するなどの工夫が必要。
351デフォルトの名無しさん
2018/05/28(月) 12:55:09.72ID:By7WF+qf えらいレベルの低い内容だな
そういうレベルの事を聞いてる?
そもそもテンプレート以外はソースがなかったりするぞ
そういうレベルの事を聞いてる?
そもそもテンプレート以外はソースがなかったりするぞ
352デフォルトの名無しさん
2018/05/28(月) 13:03:18.27ID:By7WF+qf 他の環境も使えるなら
まずは他の環境で試してみて
ライブラリ自体のバグか使う側の問題か
を切り分けするんだろうね
使い方の問題であれば
問題が発生する使い方と問題が発生しない使い方を色々と調べて差を縮めていって絞るとか
具体例が無いとアドバイスはなかなか難しい
環境とか何系ライブラリとかも定まらない?
まずは他の環境で試してみて
ライブラリ自体のバグか使う側の問題か
を切り分けするんだろうね
使い方の問題であれば
問題が発生する使い方と問題が発生しない使い方を色々と調べて差を縮めていって絞るとか
具体例が無いとアドバイスはなかなか難しい
環境とか何系ライブラリとかも定まらない?
353デフォルトの名無しさん
2018/05/28(月) 16:25:02.90ID:XtA12iLy354デフォルトの名無しさん
2018/05/28(月) 17:31:50.91ID:RGX33ATB インストール方法が分からないって感じかな
readmeとかドキュメントのインストール方法や依存関係の記述をきちんと読むとかそんなところじゃない?
readmeとかドキュメントのインストール方法や依存関係の記述をきちんと読むとかそんなところじゃない?
355デフォルトの名無しさん
2018/05/28(月) 20:03:05.46ID:OHc1BnnP 線形代数とか統計とか?
環境構築面倒だよね
複数のライブラリで同じライブラリを使ってるけど指定バージョンが違うとか
まあ頑張ってとしか
環境構築面倒だよね
複数のライブラリで同じライブラリを使ってるけど指定バージョンが違うとか
まあ頑張ってとしか
356デフォルトの名無しさん
2018/05/28(月) 22:45:18.72ID:ODaUYYKL357デフォルトの名無しさん
2018/05/29(火) 07:22:04.45ID:BUfBrikS 公開日時もヒントだよ。その日付よりも後に出たバージョンを使ってないってのが分かる
ビルドオプションがキーになることもあるからmakefileチェックするとか、
ソースからビルドしようとせずにバイナリ使って逃げるとか、
ひどいのになるとdebugビルドは無理でreleaseビルドするしかないなんてのもある
なんにせよエラー表示見ながら試行錯誤するしかない
ビルドオプションがキーになることもあるからmakefileチェックするとか、
ソースからビルドしようとせずにバイナリ使って逃げるとか、
ひどいのになるとdebugビルドは無理でreleaseビルドするしかないなんてのもある
なんにせよエラー表示見ながら試行錯誤するしかない
358デフォルトの名無しさん
2018/06/03(日) 22:15:08.47ID:wOsqZWyw これから時間を掛けて プログラミング言語 つくるつもりです
一体どんな機能を加えようかと。
何かこれがほしい、あれは入れるな、とかあれば 意見ください
一体どんな機能を加えようかと。
何かこれがほしい、あれは入れるな、とかあれば 意見ください
359デフォルトの名無しさん
2018/06/03(日) 22:24:50.41ID:exGCEUzZ 自爆機能は男のロマン
360デフォルトの名無しさん
2018/06/04(月) 08:28:52.50ID:K9p9OoRg361デフォルトの名無しさん
2018/06/04(月) 17:53:26.43ID:IDOvlJIZ C++もしくはC#と完全互換な機能がほしい
362デフォルトの名無しさん
2018/06/20(水) 22:08:55.83ID:V2+8Up+b Illegal instructionってエラーが出るんだけどどういう時に起こりますか?
363デフォルトの名無しさん
2018/06/20(水) 22:12:45.92ID:deMJdxhR メモリを破壊してIllegalなinstructionが実行されたとき
364デフォルトの名無しさん
2018/06/20(水) 22:16:31.34ID:V2+8Up+b はやっ!ありがとうございます
メモリ系ですか
パソコンによってこのエラーが出なかったりするのは何故でしょう?
メモリ系ですか
パソコンによってこのエラーが出なかったりするのは何故でしょう?
365デフォルトの名無しさん
2018/06/20(水) 22:51:07.51ID:AQ4yWUfz 新しいCPUの命令セットを使ったプログラムを古くて部分的にサポートされてないCPUで実行しようとしたときに起こる
366デフォルトの名無しさん
2018/06/20(水) 23:13:47.79ID:V2+8Up+b 確かに古い方のパソコンでエラーが出ます!
あとおもしろい発見をしました
(this=this@entry=0x7ffffffec7a0)と該当エラーの行(例えば100行目)に出ているのですが
その100行目にdouble a = 2;と、エラーの起こさないであろう命令を入れてみました
しかし先ほどと同じ100行目のこの命令にIllegal instructionのエラーが出ます
どうやら100行目に命令があるということが問題のようです
どういうことでしょうか??
あとおもしろい発見をしました
(this=this@entry=0x7ffffffec7a0)と該当エラーの行(例えば100行目)に出ているのですが
その100行目にdouble a = 2;と、エラーの起こさないであろう命令を入れてみました
しかし先ほどと同じ100行目のこの命令にIllegal instructionのエラーが出ます
どうやら100行目に命令があるということが問題のようです
どういうことでしょうか??
367デフォルトの名無しさん
2018/06/23(土) 13:29:59.85ID:6TJT73Kw スタック漏れか
368デフォルトの名無しさん
2018/06/24(日) 20:18:56.13ID:iTeaU+33369デフォルトの名無しさん
2018/07/04(水) 22:34:23.65ID:gFgZc5FG KS7
370デフォルトの名無しさん
2018/07/29(日) 21:29:27.59ID:Xelx6XCB 普通にコンパイルするとダイナミックリンクになるプログラムをスタティックリンクにするにはどうすればいいですか?
371デフォルトの名無しさん
2018/07/29(日) 22:05:02.94ID:k46/2Knz 普通にせずにスタティックライブラリとしてビルドすればいいw
IDEでの設定なり、コマンドラインオプションで指定できるでしょ
IDEでの設定なり、コマンドラインオプションで指定できるでしょ
372デフォルトの名無しさん
2018/07/29(日) 22:10:06.65ID:Xelx6XCB あ!そういうオプションがありました
ありがとうございます
ありがとうございます
373デフォルトの名無しさん
2018/08/22(水) 22:37:09.89ID:/ith9quv 共通暗号方式の DES を高速化する方法はありませんか?
374デフォルトの名無しさん
2018/08/22(水) 22:54:49.80ID:O+8hSQqt PC買い替える
375デフォルトの名無しさん
2018/08/22(水) 23:23:19.35ID:/ith9quv376デフォルトの名無しさん
2018/10/16(火) 17:29:53.23ID:rnwRcPOp DESではどうやっても体感できるほどの差にはならんだろ
よほどデカイか環境がプアじゃない限りは
よほどデカイか環境がプアじゃない限りは
377デフォルトの名無しさん
2019/01/26(土) 20:56:02.99ID:FlqqakqU 大規模なC++のコードに対して、あるライブラリを追加したい。
そのライブラリのnew_tool(仮名).aファイルを
Makefile内のインクルードに追加すれば使える
らしいんだけど、具体的にどうMakeを書けばよいか教えてください。
そのライブラリのnew_tool(仮名).aファイルを
Makefile内のインクルードに追加すれば使える
らしいんだけど、具体的にどうMakeを書けばよいか教えてください。
378デフォルトの名無しさん
2019/01/26(土) 21:07:40.21ID:exLOU4gz 「c++ include makefile」で検索!
379デフォルトの名無しさん
2021/05/03(月) 21:14:36.62ID:7JCEgVe4 へえ
380デフォルトの名無しさん
2021/05/05(水) 11:17:37.27ID:16ICHsbN opencvの32ビット版を使いたいのですが、最新版のインストーラに付いて来たソースコードをCMAKEしたら、X64のソリューションしか作成されませんでした
どうしたらwin32(x86)のソリューションが作成されるでしょうか?
どうしたらwin32(x86)のソリューションが作成されるでしょうか?
381デフォルトの名無しさん
2021/05/05(水) 11:35:59.84ID:CsyVlvqA サンプルをビルドできない→サンプルなんて参考にするだけでいいじゃん
本体をビルドできない→32bitバイナリダウンロードしたら?
答えになってないけどw
本体をビルドできない→32bitバイナリダウンロードしたら?
答えになってないけどw
382デフォルトの名無しさん
2021/05/06(木) 12:26:36.39ID:GHdSH9fo383デフォルトの名無しさん
2021/05/06(木) 13:08:59.95ID:84/gBo5v How to create the OpenCV binary files yourself - Part 1
https://www.youtube.com/watch?v=NnovZ1cTlMs
How to create the OpenCV binary files yourself - Part 2
https://www.youtube.com/watch?v=qGNWMcfWwPU
https://www.youtube.com/watch?v=NnovZ1cTlMs
How to create the OpenCV binary files yourself - Part 2
https://www.youtube.com/watch?v=qGNWMcfWwPU
384デフォルトの名無しさん
2021/05/16(日) 11:42:22.24ID:i0aHhWnL >>380
VSでそのソリューションに対し、x64用の構成を鋳型にして新しい構成を作成し、アーキテクチャをx86に変えてみたらどうなる。
VSでそのソリューションに対し、x64用の構成を鋳型にして新しい構成を作成し、アーキテクチャをx86に変えてみたらどうなる。
385デフォルトの名無しさん
2021/05/20(木) 13:09:22.68ID:bQ5/ppWH cmake
386デフォルトの名無しさん
2021/05/20(木) 14:11:24.28ID:tSAswoHW cmakeでvsのslnを生成するのは一般的だからな
ただしopencvに一般論が当てはまるのかは知らない
ただしopencvに一般論が当てはまるのかは知らない
387デフォルトの名無しさん
2021/06/03(木) 00:19:30.55ID:KAyuKPOb dso(dynamic shared object)は、Linux の *.so のことだと思っていいの?
つまり、shared library と言われている物と dso は同じ?
つまり、shared library と言われている物と dso は同じ?
>>358
プログラミング言語は、現時点で多すぎ、もうお腹いっぱいです…
むしろ、いろんな言語でわりと共通に使えるクラスライブラリを書いてください
互換性とかはあまりとやかくいわないつもりです、要は機能と名前がセットで共通なのがいいです
プログラミング言語は、現時点で多すぎ、もうお腹いっぱいです…
むしろ、いろんな言語でわりと共通に使えるクラスライブラリを書いてください
互換性とかはあまりとやかくいわないつもりです、要は機能と名前がセットで共通なのがいいです
>>359
バルス!も宮崎駿のロマン、なんですか?
バルス!も宮崎駿のロマン、なんですか?
390デフォルトの名無しさん
2022/05/04(水) 09:31:26.67ID:fooXr7Ib for (size_t i=0; i < for.getLength(); ++i){/*処理*/}
こういうコード多いですよね
コンパイラは終了条件のget関数のとこ副作用は無いものとして最適化するんですか?
こういうコード多いですよね
コンパイラは終了条件のget関数のとこ副作用は無いものとして最適化するんですか?
391デフォルトの名無しさん
2022/05/04(水) 10:29:12.88ID:jIlp9s0v 処理の中でlengthに変化ないとコンパイラが確信できたら最適化。グレーだったら最適化されない
コンパイラにもよるんだろうけど
コンパイラにもよるんだろうけど
392デフォルトの名無しさん
2022/05/05(木) 02:35:43.19ID:FeY8iOM4 ジャルジャル、「レギュラーゼロ」でも年間2億円超!?荒稼ぎの“内訳”とは
お笑いコンビ「ジャルジャル」(後藤淳平、福徳秀介)の年収は2億円と、
1月22日放送の「せやねん!」(毎日放送)が試算した。
YouTubeに関しては、8000本という持ちネタを約4年前から毎日投稿し、計算上は
2039 年まで投稿可能。ネタは1日で数十本まとめ撮りしていると紹介され、
あるYouTuberの証言 として、年間4000万〜5000万円の収入があるとした。
また、19年に開始したオンラインサロンは月額1100円。会員数は未公表だが、
キングコング西野の会員が5.8万人を参考に、ジャルジャルは1万人と仮定すると、
これだけでも年間1億円超。加えてライブはチケット代が6000円ぐらいで、昨年は
ツアーを2回開催。一つは16公演(劇場+配信)で1万人を動員し、売上推定は
約4000万円。もう一つは12公演で、動員数は未公表だが、単純に1回目の75%で
計算すると売上推定は約3000万円。合計7000万円が昨年のライブにおける売上と試算。
以上の3つを合計し、ジャルジャルは年間、2億円超を稼いでいると結論づけていた。
お笑いコンビ「ジャルジャル」(後藤淳平、福徳秀介)の年収は2億円と、
1月22日放送の「せやねん!」(毎日放送)が試算した。
YouTubeに関しては、8000本という持ちネタを約4年前から毎日投稿し、計算上は
2039 年まで投稿可能。ネタは1日で数十本まとめ撮りしていると紹介され、
あるYouTuberの証言 として、年間4000万〜5000万円の収入があるとした。
また、19年に開始したオンラインサロンは月額1100円。会員数は未公表だが、
キングコング西野の会員が5.8万人を参考に、ジャルジャルは1万人と仮定すると、
これだけでも年間1億円超。加えてライブはチケット代が6000円ぐらいで、昨年は
ツアーを2回開催。一つは16公演(劇場+配信)で1万人を動員し、売上推定は
約4000万円。もう一つは12公演で、動員数は未公表だが、単純に1回目の75%で
計算すると売上推定は約3000万円。合計7000万円が昨年のライブにおける売上と試算。
以上の3つを合計し、ジャルジャルは年間、2億円超を稼いでいると結論づけていた。
393デフォルトの名無しさん
2022/07/15(金) 20:04:16.25ID:gTFOG38u 以下の2つのパターンでプロジェクトにマニフェストファイルを取り込んだ場合、違いはあるのでしょうか。
また、どちらがポピュラーなのでしょうか。
==============================
前提:App.manifestはexeと同階層に配置。
------------------------------------------------------------
@:プロジェクトを右クリック→「追加」→「既存の項目」
で、すでに作成済みのApp.manifestを追加。
A:プロジェクトを右クリック→「プロパティ」→「マニフェスト ツール」→
追加のマニフェスト
で、すでに作成済みのApp.manifestのパスを記載。
試してみたところ、@Aともにビルド時に正しくマニフェストファイルが読み込まれ、一見動作的な違いは現れませんでした。
ただ、@はプロジェクトのソース一覧にマニフェストが表示されるのに対し、
Aは表示されていません。
ご教示お願い致します。
また、どちらがポピュラーなのでしょうか。
==============================
前提:App.manifestはexeと同階層に配置。
------------------------------------------------------------
@:プロジェクトを右クリック→「追加」→「既存の項目」
で、すでに作成済みのApp.manifestを追加。
A:プロジェクトを右クリック→「プロパティ」→「マニフェスト ツール」→
追加のマニフェスト
で、すでに作成済みのApp.manifestのパスを記載。
試してみたところ、@Aともにビルド時に正しくマニフェストファイルが読み込まれ、一見動作的な違いは現れませんでした。
ただ、@はプロジェクトのソース一覧にマニフェストが表示されるのに対し、
Aは表示されていません。
ご教示お願い致します。
394蟻人間 ◆T6xkBnTXz7B0
2022/07/15(金) 20:40:24.76ID:axBn0Pf7 マニフェストを埋め込まなかった場合は、ユーザーはマニフェストを変更または削除できるでしょう。
それをどう考えるかだね。
それをどう考えるかだね。
395デフォルトの名無しさん
2022/07/17(日) 23:47:43.74ID:SO89GsXj >>394
レスありがとうございます。
挙げたパターンで言うと、@が埋め込んだ場合でAが埋め込まない場合、という解釈でよいのでしょうか?
(言葉の綾かもしれませんが、初学者の私にはどちらも"埋め込んでいる"ように思えます…)
プログラムとしての是非はともかく、VisualStudioなどでプロジェクトを開いたときにマニフェストファイルが表示される@のほうが
わかりやすくて好みですね。
レスありがとうございます。
挙げたパターンで言うと、@が埋め込んだ場合でAが埋め込まない場合、という解釈でよいのでしょうか?
(言葉の綾かもしれませんが、初学者の私にはどちらも"埋め込んでいる"ように思えます…)
プログラムとしての是非はともかく、VisualStudioなどでプロジェクトを開いたときにマニフェストファイルが表示される@のほうが
わかりやすくて好みですね。
396蟻人間 ◆T6xkBnTXz7B0
2022/07/18(月) 04:37:14.05ID:IG4ROsTc ああ、どちらも埋め込んでますね(リソースエディタで確認)。
違いはないようです。
違いはないようです。
397デフォルトの名無しさん
2022/07/26(火) 09:46:29.00ID:KWta55aV398デフォルトの名無しさん
2022/07/30(土) 16:26:22.96ID:paa5jUiA まだあったんかねこのすれ
399デフォルトの名無しさん
2022/12/31(土) 23:42:50.35ID:bCnreZgB Pythonで以下の記述があり、C++に書き直したいです。
import cv2
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)
以下のC++から書き直すとどうなりますか?
#include "opencv2/opencv.hpp"
cv::VideoCapture _vidIn{};
import cv2
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)
以下のC++から書き直すとどうなりますか?
#include "opencv2/opencv.hpp"
cv::VideoCapture _vidIn{};
400デフォルトの名無しさん
2023/03/22(水) 07:25:48.92ID:VJ8vK811 喪中だよ・・
401デフォルトの名無しさん
2023/08/11(金) 05:44:11.79ID:rsk6Ej3H (~。~;)y (-o- )/ ⌒-~ ぽい!
402デフォルトの名無しさん
2023/11/20(月) 12:03:40.95ID:IOBwVD3+ なんやこりゃ、びっくりしたわ
403デフォルトの名無しさん
2024/02/11(日) 02:53:37.58ID:morq3qnL >>1
フラグを勃てると書いたら実にいやらしい
フラグを勃てると書いたら実にいやらしい
404デフォルトの名無しさん
2024/03/11(月) 02:18:46.40ID:rRWPOaAF strlen()が数え間違えるので、自前でchar*単位で回して数えた。解決。
後になって、それはどう考えてもおかしいだろとコメントアウトしていたstrlen()を戻したら、ちゃんと正常動作していた。
実は今、ブレークポイントを設定していない箇所・・・しかも特定の位置で実行停止すると言う(私は)経験のない事例に困惑しきりで、どこかmalloc()失敗していてメモリ喰い破っているのかな・・・と見直しているのですが、見付からず。
一般論として、ポインタ周りが怪しい、ですよねえ・・・。
それ以外の可能性として、どんな事があるでしょうか。
環境はMicrosoft Visual Studio Community 2022のC++ですが、C言語&DXライブラリで書いています。
後になって、それはどう考えてもおかしいだろとコメントアウトしていたstrlen()を戻したら、ちゃんと正常動作していた。
実は今、ブレークポイントを設定していない箇所・・・しかも特定の位置で実行停止すると言う(私は)経験のない事例に困惑しきりで、どこかmalloc()失敗していてメモリ喰い破っているのかな・・・と見直しているのですが、見付からず。
一般論として、ポインタ周りが怪しい、ですよねえ・・・。
それ以外の可能性として、どんな事があるでしょうか。
環境はMicrosoft Visual Studio Community 2022のC++ですが、C言語&DXライブラリで書いています。
405デフォルトの名無しさん
2024/03/11(月) 05:42:49.72ID:rRWPOaAF 何気ない習慣で、ageてなかった。
406デフォルトの名無しさん
2024/03/12(火) 16:17:58.25ID:ny/qS6He エラーがでてるのか?表示してくれてると思うが内容はどうなっているのか?
407404
2024/03/19(火) 19:03:35.85ID:qI3ILkQW >>406
エラーや警告は一切ありませんでした。
と言うか解決した今だから言えますが、私が馬鹿でした。
ええと、構造体ポインタに構造体の実体を代入していました。 そらヒープエリアも突き破るってもんで。
こんな感じ。
struct AAA data[2];
struct AAA *aaa; // *ではなく**
aaa=(struct AAA*)malloc( sizeof(struct AAA*) *2):
aaa[0]=data[0]; // &data[...
aaa[1]=data[1]; // &data[...
プログラムは、(間違った)意図通りにちゃんと動いていたみたいです(笑)。
エラーや警告は一切ありませんでした。
と言うか解決した今だから言えますが、私が馬鹿でした。
ええと、構造体ポインタに構造体の実体を代入していました。 そらヒープエリアも突き破るってもんで。
こんな感じ。
struct AAA data[2];
struct AAA *aaa; // *ではなく**
aaa=(struct AAA*)malloc( sizeof(struct AAA*) *2):
aaa[0]=data[0]; // &data[...
aaa[1]=data[1]; // &data[...
プログラムは、(間違った)意図通りにちゃんと動いていたみたいです(笑)。
408デフォルトの名無しさん
2024/05/03(金) 13:00:20.63ID:Vf2Lxl94 clangは、--targetオプションでターゲットを変更できますが
ひょんなことから、どうも、このオプションを無指定の時の
デフォルト値が、システムにインストールされているmsvcの
バージンによって変化するようなのですが、詳しい方
いらっしゃいませんか。たとえばそれにより、
char16_tがbuilt-in typeになるかどうかに違いが出てきます。
VS2019をインストールしていないとき、clang10やclang16(?)
は、デフォルトでは、char16_tがbuilt-in typeではありません。
このとき、出力された*.llの冒頭に灰化の記述があります:
target triple = "i686-pc-windows-msvc14.0.50727"
ところが、
-fms-compatibility
-fms-compatibility-version=19
を指定すると、char16_tがbuilt-in typeになり、
*.ll の冒頭の記述が変化し、
target triple = "i686-pc-windows-msvc19.0.0"
となります。上記のオプションの代わりにコマンドラインに
--target=i686-pc-windows-msvc19.0.0
と指定してもchar16_tに関してはbuilt-in type になりました。
ここまではいいのですが、不思議なことに、これらのオプションを
全く指定しなくても、なぜか、char16_t が built-in typeになって
いたことがありました。そのときは、インストールした時点で
VS2019がインストールされていたと思います。
今はインストールされていません。
ひょんなことから、どうも、このオプションを無指定の時の
デフォルト値が、システムにインストールされているmsvcの
バージンによって変化するようなのですが、詳しい方
いらっしゃいませんか。たとえばそれにより、
char16_tがbuilt-in typeになるかどうかに違いが出てきます。
VS2019をインストールしていないとき、clang10やclang16(?)
は、デフォルトでは、char16_tがbuilt-in typeではありません。
このとき、出力された*.llの冒頭に灰化の記述があります:
target triple = "i686-pc-windows-msvc14.0.50727"
ところが、
-fms-compatibility
-fms-compatibility-version=19
を指定すると、char16_tがbuilt-in typeになり、
*.ll の冒頭の記述が変化し、
target triple = "i686-pc-windows-msvc19.0.0"
となります。上記のオプションの代わりにコマンドラインに
--target=i686-pc-windows-msvc19.0.0
と指定してもchar16_tに関してはbuilt-in type になりました。
ここまではいいのですが、不思議なことに、これらのオプションを
全く指定しなくても、なぜか、char16_t が built-in typeになって
いたことがありました。そのときは、インストールした時点で
VS2019がインストールされていたと思います。
今はインストールされていません。
409デフォルトの名無しさん
2024/05/23(木) 16:30:49.25ID:xv5nSRGj このプログラムを実行すると1回目のfunc()は呼び出されず、2回目だけ呼び出されるので、
1回目のaの値は4で2回目は5と表示されるんですが、こういうものなんですか?
論理和の仕様上、一つ目の項目を評価してfalseのときしか二つ目の項目を評価しないらしいですが
ちなみにVisual Studio 2019です
#include <iostream>
using namespace std;
int a = 4;
int func() {
a = 5;
return 3;
}
int main(void) {
int b = 2 || func();
cout << a << endl;
int c = func();
cout << a << endl;
return 0;
}
1回目のaの値は4で2回目は5と表示されるんですが、こういうものなんですか?
論理和の仕様上、一つ目の項目を評価してfalseのときしか二つ目の項目を評価しないらしいですが
ちなみにVisual Studio 2019です
#include <iostream>
using namespace std;
int a = 4;
int func() {
a = 5;
return 3;
}
int main(void) {
int b = 2 || func();
cout << a << endl;
int c = func();
cout << a << endl;
return 0;
}
410デフォルトの名無しさん
2024/05/23(木) 16:36:22.83ID:BPzMbngY そういうもの
c++に限らずたいていの言語で同じようになる
c++に限らずたいていの言語で同じようになる
411デフォルトの名無しさん
2024/05/23(木) 16:53:56.61ID:xv5nSRGj412デフォルトの名無しさん
2024/05/24(金) 02:03:57.45ID:1vUdw0qC アンドは全評価
オアは順次評価
オアは順次評価
413デフォルトの名無しさん
2024/05/24(金) 02:04:55.48ID:1vUdw0qC いやアンドもフォルスになったらそこで評価止まるか
間違えちゃった
間違えちゃった
414デフォルトの名無しさん
2024/05/24(金) 11:11:20.56ID:73k9oLNxレスを投稿する
