C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
※前スレ
C言語なら俺に聞け 152
https://mevius.5ch.net/test/read.cgi/tech/1560763630/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C言語なら俺に聞け 153
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ 5fba-LL4R)
2019/08/17(土) 23:02:42.00ID:tN5mSQYg02さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd33-XbXL)
2019/08/18(日) 01:45:05.03ID:f2ZPM7Xhd 乙。くるしうない。
3デフォルトの名無しさん (ワッチョイ 132c-BF++)
2019/08/18(日) 03:38:02.60ID:26pp6bRY0 仮想アセンブラは、元々、日本の情報処理資格試験用に、CASL2 が作られた。
個別のCPU 命令では、試験にふさわしくないから、抽象化した命令が必要だった
でも、世界的には流行らなかった
それで、学生が作った、LLVM に、Apple が飛びついた
個別のCPU 命令では、試験にふさわしくないから、抽象化した命令が必要だった
でも、世界的には流行らなかった
それで、学生が作った、LLVM に、Apple が飛びついた
4デフォルトの名無しさん (ワッチョイ 13a5-1WPq)
2019/08/18(日) 09:39:05.87ID:S9bN8HAf0 実像を見てない試験で社会から乖離してるな
バkの集団なんだろうか?
それともz80の問題だしたらライセンス料でも払わないといけないのか?
カネに掛けてはとかくケチな貧乏人が思い付きそうな小手先だ
至るところで独自規格で無意味の羅列、全く学習にならず、受けるだけムダな試験が練り上げられる
バkの集団なんだろうか?
それともz80の問題だしたらライセンス料でも払わないといけないのか?
カネに掛けてはとかくケチな貧乏人が思い付きそうな小手先だ
至るところで独自規格で無意味の羅列、全く学習にならず、受けるだけムダな試験が練り上げられる
5デフォルトの名無しさん (ワッチョイ 39f6-g2bq)
2019/08/18(日) 09:57:01.01ID:OvlvScl60 試験用のアセンブラは、仕様を公開せずに
試験問題の中で初見にすればいい
それで対応力を試すようにすれば
いくらか意味のある試験になる
試験問題の中で初見にすればいい
それで対応力を試すようにすれば
いくらか意味のある試験になる
6デフォルトの名無しさん (ラクッペ MMa5-66q6)
2019/08/18(日) 10:09:11.56ID:/GvnB8qbM 以前に実施されていたマイコン応用システム開発技術者試験のアセンブラ問題は8080, Z80, 6800からの選択だった
現在の情報処理試験エンベデッドシステムの前身となった資格試験
現在の情報処理試験エンベデッドシステムの前身となった資格試験
7デフォルトの名無しさん (ワッチョイ 13a5-1WPq)
2019/08/18(日) 10:17:41.38ID:S9bN8HAf0 実際に使えないものを教えられてるのは英語と同じだな
CASLやっても機械語の練習にならない
「教育用」にまで形骸化すると使い物にならない、現実と実用から乖離する、ファンタジーになる、
これが「教育用」の弊害だ
PASCAL不人気の原因もここら辺にあるんじゃねえか?
IT界隈は教育用と実用の間で揺れてる
CASLやっても機械語の練習にならない
「教育用」にまで形骸化すると使い物にならない、現実と実用から乖離する、ファンタジーになる、
これが「教育用」の弊害だ
PASCAL不人気の原因もここら辺にあるんじゃねえか?
IT界隈は教育用と実用の間で揺れてる
8デフォルトの名無しさん (ワッチョイ 8bf2-Zpsd)
2019/08/18(日) 12:10:38.91ID:RmgmCswc0 >>2 先生 700行の数式パーサーまたHPに載せて下さい!
9デフォルトの名無しさん (ワッチョイ d144-9R4q)
2019/08/18(日) 13:54:54.01ID:NDt9ShII0 ハゲタマゴどこ行った
10デフォルトの名無しさん (ワッチョイ d901-KVZO)
2019/08/19(月) 00:21:34.86ID:IzREAmBO0 生理がこないんですけど
どうしたらいいですか?
どうしたらいいですか?
11デフォルトの名無しさん (ワッチョイ b9f2-oami)
2019/08/19(月) 01:35:14.42ID:HWxct0dM0 >>10
D
D
12デフォルトの名無しさん (ワッチョイ 5995-dCD9)
2019/08/19(月) 02:31:19.64ID:WV8MsfnG0 コンパイルもリンクも正常に動いているようだぞ
生まれたのがバグじゃなくて良かったな ha ha ha
生まれたのがバグじゃなくて良かったな ha ha ha
13入門 (ワッチョイ d901-QMAU)
2019/08/19(月) 07:50:31.64ID:AfRfI86I0 http://program-lecture.info/c_structure5.html
ここのサイトを見ながら学習しているのですがこのshowStatus関数では何故int配列を
int型の仮引数で受け取れてるのでしょうか?配列は配列かポインタでしか受け取れないと思ってたんですが
その認識は間違ってますか
よろしくお願い致します。
ここのサイトを見ながら学習しているのですがこのshowStatus関数では何故int配列を
int型の仮引数で受け取れてるのでしょうか?配列は配列かポインタでしか受け取れないと思ってたんですが
その認識は間違ってますか
よろしくお願い致します。
14デフォルトの名無しさん (ワッチョイ 13ad-qB3k)
2019/08/19(月) 08:28:31.64ID:kSnvMIS70 >>13
showStatus()はint型でもint型配列でもなくcharacter型を受け取ってるようだが?
showStatus()はint型でもint型配列でもなくcharacter型を受け取ってるようだが?
15デフォルトの名無しさん (ワッチョイ 8b69-LL4R)
2019/08/19(月) 09:48:04.61ID:O1nZQbpw0 showStasus() の引数は struct person 型の実体を受けてる
main では
struct person 型の配列を用意 party[]
配列の各要素 party[0], party[1] のぞれぞれについて showStatus() を呼んでいる
本質的には
void foo(int arg);
int main() {
int array[2];
foo(array[0]);
foo(array[1]);
return 0;
}
これと同じ
main では
struct person 型の配列を用意 party[]
配列の各要素 party[0], party[1] のぞれぞれについて showStatus() を呼んでいる
本質的には
void foo(int arg);
int main() {
int array[2];
foo(array[0]);
foo(array[1]);
return 0;
}
これと同じ
17蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 4901-n+xS)
2019/08/19(月) 20:10:40.78ID:GYeBbzEk0 >>8
あのコードは今となっては時代遅れだ。意味がない。
あのコードは今となっては時代遅れだ。意味がない。
18デフォルトの名無しさん (ワッチョイ 09a3-m73o)
2019/08/19(月) 20:19:09.86ID:PrhOfqin0 先生書き直さないんですか?w
19蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 4901-n+xS)
2019/08/19(月) 20:20:07.30ID:GYeBbzEk020デフォルトの名無しさん (アウアウカー Sa5d-KcV4)
2019/08/24(土) 22:48:02.26ID:UVaZe+22a 下のコードの部分を実行すると、最後の行だけ2回表示されます。
理由はなぜでしょうか?また、最後も1回にするにはどう変更したら良いでしょうか?
よろしくお願いします。
http://codepad.org/WCL1vHLd
理由はなぜでしょうか?また、最後も1回にするにはどう変更したら良いでしょうか?
よろしくお願いします。
http://codepad.org/WCL1vHLd
21デフォルトの名無しさん (ラクッペ MM69-RTXP)
2019/08/24(土) 23:20:14.88ID:xKwct0SAM >>20
if ( !fgets(buf, sizeof(buf), fp) ) break;
if ( !fgets(buf, sizeof(buf), fp) ) break;
2220 (ワッチョイ f125-KcV4)
2019/08/25(日) 00:34:55.25ID:9+tsViui02320 (ワッチョイ f125-KcV4)
2019/08/25(日) 00:46:09.40ID:9+tsViui0 >>22 の修正だと最後の行以外にもだいぶ表示されなくなってました。
どうするのが正解なのでしょうか?
どうするのが正解なのでしょうか?
24デフォルトの名無しさん (ワッチョイ d663-P0k6)
2019/08/25(日) 00:52:09.44ID:uvOm2rq20 良いのか?って聞かれると
色々言いたくなる奴が大勢出てきそう
色々言いたくなる奴が大勢出てきそう
25デフォルトの名無しさん (ワッチョイ d663-P0k6)
2019/08/25(日) 01:04:15.99ID:uvOm2rq20 >>23
//while ( !feof(fp) ) {
while (fgets(buf, sizeof(buf), fp)!=NULL){
//fgets(buf, sizeof(buf), fp);
こんなんでどうか
//while ( !feof(fp) ) {
while (fgets(buf, sizeof(buf), fp)!=NULL){
//fgets(buf, sizeof(buf), fp);
こんなんでどうか
2620 (ワッチョイ f125-KcV4)
2019/08/25(日) 03:58:18.71ID:9+tsViui0 >>25 うまくいきました! Thanks!
やっぱり俺に訊けスレですね。ここの人達はすごい。
if ( (fp = popen(cmdline,"r")) == NULL ) {
perror ("can not exec commad");
}
while (fgets(buf, sizeof(buf), fp)!=NULL){
printf("%s", buf);
}
pclose(fp);
最終的にこうなりなした。助かりました。
やっぱり俺に訊けスレですね。ここの人達はすごい。
if ( (fp = popen(cmdline,"r")) == NULL ) {
perror ("can not exec commad");
}
while (fgets(buf, sizeof(buf), fp)!=NULL){
printf("%s", buf);
}
pclose(fp);
最終的にこうなりなした。助かりました。
27デフォルトの名無しさん (ワッチョイ 7a2c-3Uq+)
2019/08/25(日) 04:09:39.00ID:SpCWKyo10 Ruby では、Windows の、powershell, clip コマンドも呼べる。
UTF-8, CP932 の文字コード変換もできる
クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
UTF-8, CP932 の文字コード変換もできる
クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
28デフォルトの名無しさん (アウアウクー MM73-Ivwm)
2019/09/12(木) 14:34:32.33ID:PzZxK66KM defineマクロで以下をやりたいです。
struct my{
int d0 =0;
int d1 =0;
int d2 =0;
int d3 =0;
int d4 =0;
}:
struct my val;
val[0:2] = (1, 1, 1);
と入力した時にvalのdata0〜data2に1が入るようなマクロはどう書けばいいですか?
struct my{
int d0 =0;
int d1 =0;
int d2 =0;
int d3 =0;
int d4 =0;
}:
struct my val;
val[0:2] = (1, 1, 1);
と入力した時にvalのdata0〜data2に1が入るようなマクロはどう書けばいいですか?
29デフォルトの名無しさん (ワッチョイ ff2f-lH3V)
2019/09/12(木) 18:39:59.73ID:7fKDA9wF0 __VA_ARGS__ つこて2段呼び出しだな
qiita.com/saltheads/items/e1b0ab54d3d6029c9593
qiita.com/saltheads/items/e1b0ab54d3d6029c9593
30デフォルトの名無しさん (ワッチョイ 9f68-Ivwm)
2019/09/15(日) 10:20:29.94ID:Y/GLm+KZ0 >>29
ありがとうございます。
リンクを参考に、可変引数にするマクロまでは出来ました。(作った関数が間違えていたらすみません。)
struct my def2(struct my val, int s, int e, int d1, int d2){
int *p = val.d0;
*(p+s) = d1:
*(p+e) = d2;
return val;
}
/*def3省略*/
#define GET_MACRO(_1,_2,_3,NAME,...) NAME
#define DEF(val,s,e,...) GET_MACRO(__VA_ARGS__, def3, def2)(val,s,e,__VA_ARGS__)
ここから、表記を変える方法が分かりません。
下のようなことをしたいのですが、このように書くとコンパイルエラーになりました。
どう書けばいいでしょうか。
#define VAL[A:B]=(...) DEF(VAL,A,B,__VA_ARGS__)
ありがとうございます。
リンクを参考に、可変引数にするマクロまでは出来ました。(作った関数が間違えていたらすみません。)
struct my def2(struct my val, int s, int e, int d1, int d2){
int *p = val.d0;
*(p+s) = d1:
*(p+e) = d2;
return val;
}
/*def3省略*/
#define GET_MACRO(_1,_2,_3,NAME,...) NAME
#define DEF(val,s,e,...) GET_MACRO(__VA_ARGS__, def3, def2)(val,s,e,__VA_ARGS__)
ここから、表記を変える方法が分かりません。
下のようなことをしたいのですが、このように書くとコンパイルエラーになりました。
どう書けばいいでしょうか。
#define VAL[A:B]=(...) DEF(VAL,A,B,__VA_ARGS__)
31デフォルトの名無しさん (ワッチョイ ff12-k1Ft)
2019/09/15(日) 12:30:40.49ID:58rKn0L90 マクロ使わずにこれで十分だろ。
typedef struct my;
val = (my){1,1,1};
val = (my){1,1,1,1};
以下のようにはできるけど、
マクロの多用は誰もソースを読みたくなくなるから避けたほうがいいよ
#define SET(v,...) v=(struct my){__VA_ARGS__}
SET(val, 1, 1, 1)
typedef struct my;
val = (my){1,1,1};
val = (my){1,1,1,1};
以下のようにはできるけど、
マクロの多用は誰もソースを読みたくなくなるから避けたほうがいいよ
#define SET(v,...) v=(struct my){__VA_ARGS__}
SET(val, 1, 1, 1)
32デフォルトの名無しさん (ワッチョイ 9f68-Ivwm)
2019/09/15(日) 13:05:57.26ID:Y/GLm+KZ033デフォルトの名無しさん (ワッチョイ ff12-k1Ft)
2019/09/15(日) 13:41:31.71ID:58rKn0L90 #define SET(x,s,e,...) memcpy(((int*)&val)+s,&(int[]){__VA_ARGS__},sizeof(int)*(e-s))
SET(val, 1, 3, 1, 1)
SET(val, 1, 4, 1, 1, 1)
部下がこんなコード書いてきたら突っ返すわ
SET(val, 1, 3, 1, 1)
SET(val, 1, 4, 1, 1, 1)
部下がこんなコード書いてきたら突っ返すわ
34デフォルトの名無しさん (ワッチョイ 1fd2-bRiQ)
2019/09/15(日) 15:47:59.75ID:v7T7Pyv90 ID:Y/GLm+KZ0 が上司だったらと想定してみよう。
35デフォルトの名無しさん (ワッチョイ ff12-k1Ft)
2019/09/15(日) 15:59:14.90ID:58rKn0L90 自分の考えが浅はかでした。申し訳ありません
36デフォルトの名無しさん (ワッチョイ ff7c-6eqr)
2019/09/17(火) 11:43:21.23ID:tz0JLczQ0 >>34
背中を撃たれてしまうのでは・・・?
背中を撃たれてしまうのでは・・・?
37デフォルトの名無しさん (アウアウクー MM73-Ivwm)
2019/09/17(火) 13:01:08.68ID:pZqZMIzxM うーん、どうにかして上のように[]を使って書き換えることは出来ないのですかね。
ちなみに下のようにして全パターン定義しようとしたらエラーでした。何故でしょうか。
#define val[0:2]=(...) DEF(val,0,2,__VA_ARGS__)
ちなみに下のようにして全パターン定義しようとしたらエラーでした。何故でしょうか。
#define val[0:2]=(...) DEF(val,0,2,__VA_ARGS__)
38デフォルトの名無しさん (ワッチョイ 1fd2-bRiQ)
2019/09/17(火) 14:46:00.52ID:nfIIVgp70 マクロ諦めてインライン関数にしたら?
39デフォルトの名無しさん (アウアウウー Sa63-ErpI)
2019/09/17(火) 19:09:34.89ID:g1BlUkdva >>37
なぜって、#defineを使用するための構文を完全に無視してるからだよ。こちらが思ったことを都合良く解釈してくれるわけでなく、構文通りの単純な置換をしてくれるだけだよ。
一度ちゃんと調べておいた方がいい。
なぜって、#defineを使用するための構文を完全に無視してるからだよ。こちらが思ったことを都合良く解釈してくれるわけでなく、構文通りの単純な置換をしてくれるだけだよ。
一度ちゃんと調べておいた方がいい。
40デフォルトの名無しさん (アウアウクー MM73-Ivwm)
2019/09/17(火) 19:57:33.48ID:pZqZMIzxM41デフォルトの名無しさん (アウアウウー Sa63-ErpI)
2019/09/17(火) 20:37:25.67ID:g1BlUkdva >>40
不可能。やるなら自前でプリプロセサでも書けばいいが、そんなことするくらいなら、ソース上に書くのではなく独自のデータファイルとそれを読み込んでデータを初期化するような処理でも作れば?
不可能。やるなら自前でプリプロセサでも書けばいいが、そんなことするくらいなら、ソース上に書くのではなく独自のデータファイルとそれを読み込んでデータを初期化するような処理でも作れば?
42デフォルトの名無しさん (アウアウクー MM73-Ivwm)
2019/09/17(火) 20:47:01.62ID:pZqZMIzxM43デフォルトの名無しさん (アウアウウー Sa63-0qvw)
2019/09/17(火) 22:44:02.30ID:WDh8MszDa 新言語作った方が良さそうな。
初期のC++みたいにC言語へのコンバータとして作っちゃえば楽だと思う。Cと同じで良い部分はほとんど素通しで行けるし。
初期のC++みたいにC言語へのコンバータとして作っちゃえば楽だと思う。Cと同じで良い部分はほとんど素通しで行けるし。
44デフォルトの名無しさん (ワッチョイ 7f79-6eqr)
2019/09/18(水) 03:52:29.58ID:YwguJHoc0 そこまでしてCに拘る意味がわからない
45デフォルトの名無しさん (ワッチョイ 9f01-rDRx)
2019/09/18(水) 05:50:30.71ID:A+b/Im8h0 あの変態的にC言語には見えないObjective CでさえほとんどプリプロセッサでCに変換してからコンパイルしてたと聞くので、やろうと思えばできるんだろうね。
46デフォルトの名無しさん (ワッチョイ ff8c-e0wG)
2019/09/18(水) 07:02:57.91ID:ik5RQtCe0 yaccとlexを使えばできるだろう。たぶん
47デフォルトの名無しさん (ブーイモ MM9f-+9C/)
2019/09/18(水) 08:32:22.55ID:cLmp+ocZM 独自言語を開発したときなんかはとりあえずCに変換するというのはわりとある話。
コード生成とか最適化とか考えずに済むから。
昔、独自じゃないけど、とある言語からCへのコンバータ作ったよ。
楽しかった。
コード生成とか最適化とか考えずに済むから。
昔、独自じゃないけど、とある言語からCへのコンバータ作ったよ。
楽しかった。
48デフォルトの名無しさん (ワッチョイ 1fd2-bRiQ)
2019/09/18(水) 08:40:59.31ID:vdXxwq0s0 コンパイル前にソースを別のソフトで変換、置き換えさせて・・・
49デフォルトの名無しさん (ワッチョイ 9ff2-VIbU)
2019/09/18(水) 09:00:45.02ID:qgVAc8a30 そしてCにもどるネズミの嫁入り
50デフォルトの名無しさん (ワッチョイ 7fa5-ZFGe)
2019/09/18(水) 12:47:21.47ID:1Vhu13ZT0 BNFとyaccのお勉強から
51デフォルトの名無しさん (アウアウクー MM11-bPqq)
2019/09/19(木) 15:34:03.81ID:yCvdPLl+M #define ARR_NAME(n) arr##n
int arr0 [] = {0,0,0};
int arr1 [] = {1,1,1};
int* select_arr(int i){
return ARR_NAME(i);
}
これはどうしてコンパイルエラーになりますか?
ちなみにreturn ARR_NAME(0)だと正しく動きます。
int arr0 [] = {0,0,0};
int arr1 [] = {1,1,1};
int* select_arr(int i){
return ARR_NAME(i);
}
これはどうしてコンパイルエラーになりますか?
ちなみにreturn ARR_NAME(0)だと正しく動きます。
52デフォルトの名無しさん (ワッチョイ 51f6-ACnl)
2019/09/19(木) 16:38:05.33ID:1k0/HGmS0 タイミングの問題だ
#defineはコンパイル前に解釈されるが
関数仮引数の値は実行時に渡される
実行時とはコンパイル〜リンクまで全て終わった後の話だ
だから関数仮引数の値を#defineで置き換えることができない
#defineはコンパイル前に解釈されるが
関数仮引数の値は実行時に渡される
実行時とはコンパイル〜リンクまで全て終わった後の話だ
だから関数仮引数の値を#defineで置き換えることができない
53さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd22-en/k)
2019/09/19(木) 17:34:18.54ID:fzYUHnaEd arriという変数はない。プリプロセッサでは変数の中身までは見られない。
54デフォルトの名無しさん (アウアウクー MM11-bPqq)
2019/09/19(木) 18:13:33.75ID:yCvdPLl+M 分かりやすかったです。ありがとう。
この機能の代替として良き方法はありますか?配列のdimを増やすしかないですか?
この機能の代替として良き方法はありますか?配列のdimを増やすしかないですか?
55さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd22-en/k)
2019/09/19(木) 18:22:24.66ID:fzYUHnaEd 次元を増やすのがベストだろう。
56デフォルトの名無しさん (ワッチョイ 6e63-Ms+D)
2019/09/19(木) 18:23:38.47ID:QG4rugRZ0 配列変数名はコンパイル時には分かっているのだから
その配列のアドレスを格納したポインタ配列を用意してやる
その配列のアドレスを格納したポインタ配列を用意してやる
57デフォルトの名無しさん (ワッチョイ 6101-o1nO)
2019/09/19(木) 18:24:58.88ID:Hv2f/JNH0 >>55
これに1票。
これに1票。
58デフォルトの名無しさん (ワッチョイ 0dd2-jgJV)
2019/09/20(金) 15:15:19.52ID:X5/vL2CD0 __、
iー'゙゙゙゙''''ー-,/^´ ゙';
| ゙ゝ....‐ .}
! |,
i____________......r'".'''゙ヽ . ..,,、
,,. -/ `'ー | .' 、
,..-'" l゙ __.. -''′ ./
. ,/ .`''''〜- ....---''''"゛ ,/
/.,, ,,..r'"
`''ー、,、 _,,,-'" `!、
/'r‐、 ,/´ /゙゙', ヽ
/ レ'゙ ´゙リ´ . `^^゙゙゙゙゙゙厂j .! │ . l
/ | .l. 丿/ / . / !
l ! .,,....--ー'''''''″ / .| (、 . !
_ .ィ‐¨゙゙'广゛ ...... ./ ,ノ.l. `'ィ ..,,_/
..-‐'"゛ 'l_゙'ーノ`' ..........,,_ .,, -" / │ .! ゙''''-.
.i''i ヽ、 / .! !
,)イ : ..,,,,,>u;;;;,、.__ _,,,.. / | "
/ . 、 ! .` |
!, ,!
." ゙
iー'゙゙゙゙''''ー-,/^´ ゙';
| ゙ゝ....‐ .}
! |,
i____________......r'".'''゙ヽ . ..,,、
,,. -/ `'ー | .' 、
,..-'" l゙ __.. -''′ ./
. ,/ .`''''〜- ....---''''"゛ ,/
/.,, ,,..r'"
`''ー、,、 _,,,-'" `!、
/'r‐、 ,/´ /゙゙', ヽ
/ レ'゙ ´゙リ´ . `^^゙゙゙゙゙゙厂j .! │ . l
/ | .l. 丿/ / . / !
l ! .,,....--ー'''''''″ / .| (、 . !
_ .ィ‐¨゙゙'广゛ ...... ./ ,ノ.l. `'ィ ..,,_/
..-‐'"゛ 'l_゙'ーノ`' ..........,,_ .,, -" / │ .! ゙''''-.
.i''i ヽ、 / .! !
,)イ : ..,,,,,>u;;;;,、.__ _,,,.. / | "
/ . 、 ! .` |
!, ,!
." ゙
59デフォルトの名無しさん (ブーイモ MM22-RBPn)
2019/09/20(金) 17:51:25.98ID:/93Uxf6sM それは増やさなくていいから
60デフォルトの名無しさん (ワッチョイ 02ad-9GzD)
2019/09/23(月) 14:43:33.00ID:995jKG080 グローバル変数を宣言する時、ヘッダファイルでextern int hogehoge;ってするよね。
*.cからヘッダファイルをincludeすると、
extern int hogehoge;を毎回書いたのと同じ状態になるの?
*.cからヘッダファイルをincludeすると、
extern int hogehoge;を毎回書いたのと同じ状態になるの?
61デフォルトの名無しさん (ワッチョイ 4563-wC8D)
2019/09/23(月) 14:47:57.02ID:LA+tlTim0 そうだよ
includeはファイルをそのまま展開するだけ
includeはファイルをそのまま展開するだけ
>>60
被参照側(メイン)に int hogehoge と書く
参照側(サブ)には extern int hogehoge と書く
これが基本です、*.h を使うのなら
*.h に extern int hogehoge と書く
被参照側(メイン)に int hogehoge と書き、*.h をインクルード…@
参照側(サブ)は *.h をインクルード
@でヘッダと実体に矛盾がないかチェックします
被参照側(メイン)に int hogehoge と書く
参照側(サブ)には extern int hogehoge と書く
これが基本です、*.h を使うのなら
*.h に extern int hogehoge と書く
被参照側(メイン)に int hogehoge と書き、*.h をインクルード…@
参照側(サブ)は *.h をインクルード
@でヘッダと実体に矛盾がないかチェックします
63デフォルトの名無しさん (ワッチョイ 02ad-9GzD)
2019/09/23(月) 21:19:08.91ID:995jKG080 >>61-62
ありがとうございました
ありがとうございました
64デフォルトの名無しさん (アウアウウー Sa8b-dyKo)
2019/09/29(日) 22:13:04.83ID:wBLVWLTJa お前がC言語を 使う前に
言っておきたい 事がある
かなりきびしい話もするが
俺の本音を 聴いておけ
初期化前の変数を 使ってはいけない
gets()関数も 使ってはいけない
文字列の長さと 配列サイズは別物だ
使い終わったバッファは ゼロクリアしろ
できる範囲じゃなくて 全部やって
https://twitter.com/satoru_takeuchi/status/1176429522687676416?s=03
https://twitter.com/5chan_nel (5ch newer account)
言っておきたい 事がある
かなりきびしい話もするが
俺の本音を 聴いておけ
初期化前の変数を 使ってはいけない
gets()関数も 使ってはいけない
文字列の長さと 配列サイズは別物だ
使い終わったバッファは ゼロクリアしろ
できる範囲じゃなくて 全部やって
https://twitter.com/satoru_takeuchi/status/1176429522687676416?s=03
https://twitter.com/5chan_nel (5ch newer account)
65デフォルトの名無しさん (ドコグロ MM7b-Gn+r)
2019/09/30(月) 07:29:14.67ID:II5MOx76M66デフォルトの名無しさん (ワッチョイ e77c-Sxlc)
2019/09/30(月) 08:11:22.10ID:gJLA2fQe0 パスワードやらなんやらの機密情報を保存したバッファは解放前にゼロクリアしようねという話です。
任意のバッファという意味ではありません。失礼しました
任意のバッファという意味ではありません。失礼しました
67デフォルトの名無しさん (スップ Sd7f-+ATs)
2019/09/30(月) 08:13:21.71ID:VG7pOpzld 物凄く初歩的な質問で申し訳ないのですが
1%5のような余剰計算をした場合解は5になるのでしょうか0になるのでしょうか
1%5のような余剰計算をした場合解は5になるのでしょうか0になるのでしょうか
68デフォルトの名無しさん (スップ Sd7f-+ATs)
2019/09/30(月) 08:15:49.83ID:VG7pOpzld すみません自己解決しました
69デフォルトの名無しさん (ドコグロ MM7b-Gn+r)
2019/09/30(月) 08:18:14.42ID:II5MOx76M それC言語固有の話じゃないし個々にやるべきかプロセス毎にやるべきかとかのポリシーもあるし
70デフォルトの名無しさん (アウアウウー Sa8b-dyKo)
2019/09/30(月) 09:14:54.65ID:eZfyppwla71デフォルトの名無しさん (ワッチョイ 5dda-0RA9)
2019/10/04(金) 06:41:48.31ID:UVSgb2bf0 ゼロクリアだとそこだけ異様にキレイなので逆に重要な値が入るものと察知される
乱数値でクリアすべき
乱数値でクリアすべき
72デフォルトの名無しさん (ワッチョイ b67c-G1PU)
2019/10/04(金) 08:54:32.98ID:iKrL2UhC0 >>71
すごいコストがかかるよねそれ・・・
すごいコストがかかるよねそれ・・・
73デフォルトの名無しさん (ワッチョイ 39d2-jw9j)
2019/10/04(金) 09:53:27.82ID:gjBxAXtl0 一々乱数計算しなくても数パターン乱数表つくってメモリコピーでもいいんじゃね?
74デフォルトの名無しさん (アークセー Sxbd-BjtM)
2019/10/04(金) 10:40:51.28ID:0WBkPtDcx そもそもゼロクリアされてるbss領域なんて重要なもの以外にも大量に存在してるので攻撃者がピンポイントで判断することなどまず不可能。
逆に綺麗すぎる乱数のほうが目立つ。
逆に綺麗すぎる乱数のほうが目立つ。
75デフォルトの名無しさん (ドコグロ MMb1-XtwS)
2019/10/04(金) 11:02:52.42ID:uYF9K7e8M そこだけにするからバレると言うなら全部ゼロクリアすればいいってことでしょ
> 使い終わったバッファは ゼロクリアしろ
> できる範囲じゃなくて 全部やって
> 使い終わったバッファは ゼロクリアしろ
> できる範囲じゃなくて 全部やって
76デフォルトの名無しさん (ワッチョイ 6aa5-SLA8)
2019/10/04(金) 11:23:25.74ID:rAj4fuhv0 今の流行りは不変プログラミング
スコープが短い云々ではなく使い捨て
再利用なんてしない
スコープが短い云々ではなく使い捨て
再利用なんてしない
77デフォルトの名無しさん (ワッチョイ 6a18-M8t1)
2019/10/04(金) 11:28:53.13ID:MVQV/kgg0 アメリカ国防省のDoD5200.28-Mとかね
78デフォルトの名無しさん (ワッチョイ 8d88-LHep)
2019/10/04(金) 11:42:07.63ID:TDKY2TUM0 HDDだと少数回のゼロクリアじゃデータ復旧される可能性が残るけどメモリだったらその心配はないのかね?
79デフォルトの名無しさん (アークセー Sxbd-BjtM)
2019/10/04(金) 11:48:30.26ID:0WBkPtDcx80デフォルトの名無しさん (アウアウウー Sa21-8Spd)
2019/10/04(金) 14:20:51.26ID:hcjI0QEWa スワップされてディスクに書き込まれたら終わりなのでスワップされないようにする必要がある。
81デフォルトの名無しさん (ワッチョイ 8d88-LHep)
2019/10/04(金) 14:34:25.76ID:TDKY2TUM0 windowsの細かな動きがわからんけどスリープとかでメモリ内容を全部ディスクに保存する動きしない?
するなら言語レベルではどう頑張ってもディスクにデータを書き込まずにスルーする術なんてないんじゃなかろうか?
ということは漏洩防止目的でバッファをゼロクリアする意味は無い?
windows以外は知らん
するなら言語レベルではどう頑張ってもディスクにデータを書き込まずにスルーする術なんてないんじゃなかろうか?
ということは漏洩防止目的でバッファをゼロクリアする意味は無い?
windows以外は知らん
82デフォルトの名無しさん (ワッチョイ 39d2-jw9j)
2019/10/04(金) 15:03:33.90ID:gjBxAXtl0 スリープ処理って関数実行中でも起きるの?
メッセージ待ちとかで起こると思ってた。
メッセージ待ちとかで起こると思ってた。
83デフォルトの名無しさん (アークセー Sxbd-BjtM)
2019/10/04(金) 15:23:30.09ID:0WBkPtDcx 多分priemptされてたら実行状態でも普通にswap outされるだろうな。
84デフォルトの名無しさん (ドコグロ MMb1-XtwS)
2019/10/04(金) 15:25:19.34ID:uYF9K7e8M スワップに書いてある内容がどのプロセスのものかをどうやって知るつもりなんだろう…
てかそんなのがわかる状況ならそもそもセキュリティうんぬん言ってもしょうがないと思う
てかそんなのがわかる状況ならそもそもセキュリティうんぬん言ってもしょうがないと思う
85デフォルトの名無しさん (アウアウウー Sa21-8Spd)
2019/10/04(金) 15:35:25.79ID:hcjI0QEWa Linuxにはmlock()がある。
https://linuxjm.osdn.jp/html/LDP_man-pages/man2/mlock.2.html
多分他のOSにも似たようなのはある筈。
なければ高度なセキュリティが必要なプログラムは作れない。
https://linuxjm.osdn.jp/html/LDP_man-pages/man2/mlock.2.html
多分他のOSにも似たようなのはある筈。
なければ高度なセキュリティが必要なプログラムは作れない。
86デフォルトの名無しさん (アウアウウー Sa21-8Spd)
2019/10/04(金) 15:43:12.94ID:hcjI0QEWa サスペンドでメモリ内容が全てディスクに書き込まれるような場合は暗号化サスペンドイメージを使うように予め設定しておくしかないようだ。(もはや言語の問題ではない。OSの問題)。
87デフォルトの名無しさん (ワッチョイ 8d88-LHep)
2019/10/04(金) 15:53:58.62ID:TDKY2TUM0 最終的にはOSやらハードウェアファームやらのレベルの話に行き着くんで上位レイヤーでの完全対応は無理
ならば他アプリが自アプリのバッファにアクセスできないよう下位レイヤーが保証してるならバッファクリアは不要ということになる?
そんなレベルで心配が必要なことは個人的に触ることは無いと思うけど
ならば他アプリが自アプリのバッファにアクセスできないよう下位レイヤーが保証してるならバッファクリアは不要ということになる?
そんなレベルで心配が必要なことは個人的に触ることは無いと思うけど
88デフォルトの名無しさん (アウアウクー MM7d-Pgoj)
2019/10/04(金) 17:34:20.04ID:SD7r35lfM 関数ポインタの書式と宣言方法がわからぬ(´・ω・`)
だれか助けてクレメンス
だれか助けてクレメンス
89デフォルトの名無しさん (ブーイモ MMc9-Lreg)
2019/10/04(金) 18:02:32.55ID:TP3p64JiM ここで講義始めるわけに行かないんだからもっとspecificに頼むよ
90デフォルトの名無しさん (ワッチョイ 2ac5-G1PU)
2019/10/05(土) 01:05:45.82ID:JlWvx+CH0 Makefileなどに書かれているCCって「C Compiler」の略でしょうか?
91デフォルトの名無しさん (ワッチョイ f1a5-M8t1)
2019/10/05(土) 08:03:44.94ID:9T2eUTn80 UNIXのccコマンドじゃね?
92デフォルトの名無しさん (ワッチョイ 2ac5-G1PU)
2019/10/05(土) 20:19:21.97ID:JlWvx+CH093デフォルトの名無しさん (ワッチョイ b67c-G1PU)
2019/10/07(月) 09:08:10.49ID:wNNRR3l10 ピザ好きな不老不死の女の子かと思った
94デフォルトの名無しさん (スップ Sdea-s2a/)
2019/10/07(月) 19:40:47.02ID:Xs+XlBV4d 250億分の1のドム?
95デフォルトの名無しさん (ワッチョイ 7d01-BjtM)
2019/10/08(火) 06:14:41.38ID:T9JnCGiw0 Card Captor
96デフォルトの名無しさん (ワッチョイ 2ac5-G1PU)
2019/10/08(火) 07:56:55.95ID:/Tt7z8U00 さくらちゃん!
97デフォルトの名無しさん (アウアウウー Sa21-8Spd)
2019/10/08(火) 10:23:23.04ID:UHIrT7RMa Chupa Chups
98デフォルトの名無しさん (ワッチョイ 9fc5-NJTS)
2019/10/10(木) 14:01:00.49ID:at1yx75i0 このスレこんなに過疎ってたっけ
99デフォルトの名無しさん (アウアウウー Sa5b-DLKC)
2019/10/10(木) 20:53:57.73ID:f2z6TkRsa まずは燃料投下する必要があるんじゃないかな。C言語はダメとかクソとか、あるいは引数にvoidなんて見たことないとか、そういったことを書けば火が付いて3スレぐらいあっという間に消費すると思うよ。
100デフォルトの名無しさん (ワッチョイ 9f02-NhWV)
2019/10/10(木) 21:22:58.67ID:uAIxYTc70 void君呼ばれてるよ〜
101デフォルトの名無しさん (ワッチョイ 9ff9-8cCB)
2019/10/10(木) 21:27:26.48ID:uUO69neG0 void君だと日下部を連想しちゃう
102デフォルトの名無しさん (ワッチョイ 9f79-NJTS)
2019/10/10(木) 23:54:41.04ID:a+kHg1ZD0 C言語がクソなのは誰の目にも明らかだから燃料にもならない
何を犠牲にしてでも最速を求めなければならないとか
今時キロバイト単位のメモリしか載ってないとかで渋々使わざるを得ないだけ
何を犠牲にしてでも最速を求めなければならないとか
今時キロバイト単位のメモリしか載ってないとかで渋々使わざるを得ないだけ
>>102
プログラムに関係する問題を人に伝えたく、かつ、言語固有の事情をできるだけ排除したいときにあえて c で表現することはあります、普段書きはすでに c++ ではあるのですが
https://mevius.5ch.net/test/read.cgi/tech/1551247748/442-443
プログラムに関係する問題を人に伝えたく、かつ、言語固有の事情をできるだけ排除したいときにあえて c で表現することはあります、普段書きはすでに c++ ではあるのですが
https://mevius.5ch.net/test/read.cgi/tech/1551247748/442-443
104デフォルトの名無しさん (スップ Sdbf-xp8T)
2019/10/11(金) 07:30:31.94ID:nZkXsNOYd だな
105デフォルトの名無しさん (アークセー Sxcb-olh0)
2019/10/11(金) 07:53:34.25ID:3LFsZ0AAx かと言ってC++にそんなにメリット感じないんだよなぁ。
106デフォルトの名無しさん (アウアウクー MMcb-mT29)
2019/10/11(金) 08:03:12.82ID:tJJSdY6IM python最強!python最強!python最強!
107デフォルトの名無しさん (ワッチョイ ff63-NJTS)
2019/10/15(火) 23:35:16.76ID:j31F4ljf0 pythonスレ、寂れているぞ
108デフォルトの名無しさん (ワッチョイ 9779-NJTS)
2019/10/15(火) 23:36:55.58ID:41wob9vL0 Cスレより寂れてから出直してこい
109デフォルトの名無しさん (ワッチョイ d2c5-S3Tg)
2019/10/18(金) 13:14:43.91ID:fz6Ul+V20 あんなに活気のあったスレがこんなに寂れるとは
5chから人が減っているという噂は本当だったか・・・
5chから人が減っているという噂は本当だったか・・・
110デフォルトの名無しさん (ワッチョイ c67c-S3Tg)
2019/10/18(金) 13:17:46.21ID:TRDqZrvk0 2chに戻れば盛況になると思うよ
111デフォルトの名無しさん (アウアウウー Sa43-n65Q)
2019/10/18(金) 13:50:16.30ID:Re5f6/3aa 誰かYouTuberになって布教活動すれば良いんじゃないか?
この際VTuberで美少女だけど実はおっさんがやってるってのでも良い。
この際VTuberで美少女だけど実はおっさんがやってるってのでも良い。
112デフォルトの名無しさん (ワッチョイ d2c5-S3Tg)
2019/10/18(金) 14:13:00.14ID:fz6Ul+V20 名前はCちゃんだな
バストもCちゃん
バストもCちゃん
>>109
C 宿題スレも激しく活況だったのに、ね、…
C 宿題スレも激しく活況だったのに、ね、…
114デフォルトの名無しさん (アウアウウー Sa43-n65Q)
2019/10/18(金) 22:18:29.15ID:Re5f6/3aa そう言えば中国にもYouTubeみたいなのがあってYouTuberのようなのをやってる人も居るのだが、顔を若く変換するアプリ使って40代だか50代のおばちゃんが20代ぐらいに見せかけてやっていたってのがあったなあ。
そういうの使えばお前らのハゲもフサフサになるに違いない。
そういうの使えばお前らのハゲもフサフサになるに違いない。
115デフォルトの名無しさん (ワッチョイ d2c5-S3Tg)
2019/10/21(月) 17:55:25.84ID:SxBFh1HX0 顔を変換するアプリと言えばアダルトサイトに芸能人の顔を合成したAVが上がってたな
見た感じ本物と区別付かないぐらい精巧だった
個人的にここ最近の技術革新では一番衝撃的だったな
見た感じ本物と区別付かないぐらい精巧だった
個人的にここ最近の技術革新では一番衝撃的だったな
116デフォルトの名無しさん (ワッチョイ 9f95-S3Tg)
2019/10/21(月) 20:28:50.85ID:niRnsl0k0 画角やライティングに異常なし?
117デフォルトの名無しさん (ワッチョイ 926f-iSkz)
2019/10/21(月) 21:24:45.66ID:Pn9LVi/O0118デフォルトの名無しさん (ワッチョイ de8c-U7Hu)
2019/10/22(火) 11:58:42.07ID:w6Pn7J3f0 printf("%*d", width, num);
と
printf("%2$*1$d", width, num);
がなぜ等価でですか?だいたい等価?正確に等価?
と
printf("%2$*1$d", width, num);
がなぜ等価でですか?だいたい等価?正確に等価?
119デフォルトの名無しさん (ワッチョイ d2c5-S3Tg)
2019/10/22(火) 12:33:17.32ID:Cu6k19+70120デフォルトの名無しさん (ワッチョイ c3b0-ecnW)
2019/10/24(木) 00:19:19.09ID:Wak+wQ5e0 ずばり日本人って利己的な奴ばっかだから会話から何まで発展しようがないんだな。
後はもう負の連鎖。
後はもう負の連鎖。
121デフォルトの名無しさん (ワッチョイ ffad-LHKE)
2019/10/24(木) 04:25:22.54ID:nZ5fKqYm0 おまえ利己的だな
122デフォルトの名無しさん (ワッチョイ ffc5-mjLV)
2019/10/24(木) 13:03:27.14ID:4BUO8cnl0 ワッチョイ取ったほうがいいんじゃないの?
なんでワッチョイ付けてるの?
なんでワッチョイ付けてるの?
123デフォルトの名無しさん (ラクッペ MMc7-KLnj)
2019/10/24(木) 13:13:49.39ID:rzYbrWLoM 人を寄せ付けないため
124デフォルトの名無しさん (アウアウウー Sa27-nFuE)
2019/10/24(木) 16:43:51.20ID:gElHX+jGa 荒らされることで活気を保つというのもまたナンだなあ
125デフォルトの名無しさん (ワッチョイ c3b0-ecnW)
2019/10/25(金) 06:37:52.18ID:2lz/0LgC0 本音だけど、何処の板もそうだけど、噛みついてくるのはすぐさま来るけど親身になって
答えてもそのまま逃げる奴ばっかだし、そりゃ人減るよ。
答える奴には聖人を求める癖に自分がカスすぎるじゃん。
答えてもそのまま逃げる奴ばっかだし、そりゃ人減るよ。
答える奴には聖人を求める癖に自分がカスすぎるじゃん。
126デフォルトの名無しさん (スップ Sd1f-oeya)
2019/10/25(金) 07:36:46.68ID:1flCt2Jcd 他人に対する期待が多すぎるやつは
いつも文句ばっかりぬかしてて
思い通りにならないと発狂する
いつも文句ばっかりぬかしてて
思い通りにならないと発狂する
127デフォルトの名無しさん (アウアウウー Sa27-nFuE)
2019/10/25(金) 12:45:36.00ID:f89Z34lqa 期待が大きいというか、依存だよね。
128デフォルトの名無しさん (アウアウクー MM47-I6j1)
2019/10/25(金) 18:54:11.10ID:1g0JfiSRM 依存じゃなくて利用だな
他人なんて自分がラクするための道具でしかないという
他人なんて自分がラクするための道具でしかないという
129デフォルトの名無しさん (アウアウウー Sa27-nFuE)
2019/10/25(金) 20:51:37.05ID:f89Z34lqa 道具に依存している
130デフォルトの名無しさん (アウアウクー MM47-I6j1)
2019/10/26(土) 12:46:18.79ID:EiwJrseOM なくても困らない代わりはいくらでもあるものに対して依存しているとは言わない
131デフォルトの名無しさん (ワッチョイ b363-mjLV)
2019/10/26(土) 12:49:03.78ID:bOvK5kTL0 5ちゃんねる依存症
132デフォルトの名無しさん (ワッチョイ ffad-LHKE)
2019/10/26(土) 21:16:39.88ID:2eoY+VbT0 依存できなくなると怒るんだよ
133デフォルトの名無しさん (ワッチョイ 0b46-D8p/)
2019/11/05(火) 20:25:04.26ID:AZeD0bR10 $ ctags -R /usr/include/alsa
をしても、int snd_pcm_open(...); 等が tags に記載されない。
どうして? どうしたら?
をしても、int snd_pcm_open(...); 等が tags に記載されない。
どうして? どうしたら?
134デフォルトの名無しさん (ワッチョイ 8b7b-iL8/)
2019/11/07(木) 06:31:27.14ID:+Fv/+mh50 >>133
ctags --c-kinds=+p -R /usr/include/alsa
でどうだろ。
見当つくだろうけど「Cのプロトタイプ宣言部分も出力に加える」の意。
どうして、の答えは「デフォルトではプロトタイプ宣言部は対象外だから」だね。
ctags --c-kinds=+p -R /usr/include/alsa
でどうだろ。
見当つくだろうけど「Cのプロトタイプ宣言部分も出力に加える」の意。
どうして、の答えは「デフォルトではプロトタイプ宣言部は対象外だから」だね。
135デフォルトの名無しさん (ワッチョイ 6b01-DaD1)
2019/11/11(月) 23:11:25.01ID:W9timUKI0 構造体のメンバ変数に、関数のポインタ変数を入れて、クラスのメソッドのような感じで使ったりできると思うけど、そういう使い方って現実性あるかな?
136デフォルトの名無しさん (ワッチョイ 8b4f-DaD1)
2019/11/11(月) 23:22:53.41ID:zH1aWpOc0 そういうふうにCでOOPするのが昔流行った。
137デフォルトの名無しさん (ワッチョイ 9f01-lZUE)
2019/11/12(火) 00:07:22.48ID:FaYMVIJ40138デフォルトの名無しさん (ワッチョイ 4f7c-DaD1)
2019/11/12(火) 09:07:31.78ID:lfRZP5P70 >>135
デバイスドライバのたぐいは大体それのオンパレードだよね
デバイスドライバのたぐいは大体それのオンパレードだよね
140デフォルトの名無しさん (アウアウウー Sacf-aSoi)
2019/11/12(火) 11:31:00.10ID:H6DlknKxa141デフォルトの名無しさん (アウアウウー Sacf-xE2t)
2019/11/12(火) 19:07:08.23ID:4xumfLcka 組み込みプログラマになりたいんだけど入門書やった後は何したらいいの?
142デフォルトの名無しさん (ワイーワ2 FF3f-tB+Q)
2019/11/12(火) 19:10:21.84ID:I0vQskxnF 中学生なら高校逝け
高校生なら大学逝け
高校生なら大学逝け
143デフォルトの名無しさん (アウアウウー Sacf-xE2t)
2019/11/12(火) 19:20:12.48ID:4xumfLcka 社会人なら?
144デフォルトの名無しさん (ワイーワ2 FF3f-tB+Q)
2019/11/12(火) 19:24:17.50ID:I0vQskxnF そんな質問の仕方で生きていけると思ってるのか?
自分で考えろ
自分で考えろ
145デフォルトの名無しさん (ワッチョイ ef8c-msxt)
2019/11/12(火) 19:26:00.59ID:D/uXBQyj0 LチカへGo
146デフォルトの名無しさん (アウアウウー Sacf-xE2t)
2019/11/12(火) 19:29:46.05ID:4xumfLcka >>144
サンキューポークピッツ
サンキューポークピッツ
147デフォルトの名無しさん (ワッチョイ 9f74-AXNO)
2019/11/12(火) 20:32:17.44ID:mKGma2960148デフォルトの名無しさん (ワッチョイ 9f74-AXNO)
2019/11/12(火) 20:34:21.51ID:mKGma2960 サルのようにアセンブラ書きまくってた
149デフォルトの名無しさん (アウアウウー Sacf-aSoi)
2019/11/12(火) 20:52:53.27ID:krWpkqwCa 組み込み用の何かを買ってきて何か作れば良いのでは?
まあしかしこの頃は小さい組み込み用のやつでもLinux動くのあるし、良い時代になったもんだな。
まあしかしこの頃は小さい組み込み用のやつでもLinux動くのあるし、良い時代になったもんだな。
150デフォルトの名無しさん (ワッチョイ 8b01-zNuL)
2019/11/12(火) 20:59:56.71ID:hX4IVAaB0151デフォルトの名無しさん (アウウィフ FFcf-SQ7J)
2019/11/13(水) 10:23:05.12ID:OceCV+VLF152デフォルトの名無しさん (アウウィフ FFcf-SQ7J)
2019/11/13(水) 10:24:21.92ID:OceCV+VLF153デフォルトの名無しさん (アウアウウー Sacf-xE2t)
2019/11/13(水) 17:39:08.11ID:G8O1eV9/a 30日でできる!OS自作入門ってやつは組み込みの知識としては全く必要ない?
なんか楽しそうだからC言語の入門書終わったらやろうと思ってるんだけど
なんか楽しそうだからC言語の入門書終わったらやろうと思ってるんだけど
154デフォルトの名無しさん (オイコラミネオ MM7f-DJ9s)
2019/11/13(水) 18:01:06.50ID:IhNMqz4FM >>153
あの本はCPUの知識ないと何をしてるか分からないまま終わると思う
だから知識が増えた実感も感動も少ない(経験談)
揃えるツールも多いし著者が用意した奴だし
個人的にオススメの勉強法は自分で考えたオリジナル言語をCのソースに変換することかな
文字列処理の知識で実現できてなおかつC言語に詳しくなれるし、他言語の構文を学ぶきっかけにもなる
あの本はCPUの知識ないと何をしてるか分からないまま終わると思う
だから知識が増えた実感も感動も少ない(経験談)
揃えるツールも多いし著者が用意した奴だし
個人的にオススメの勉強法は自分で考えたオリジナル言語をCのソースに変換することかな
文字列処理の知識で実現できてなおかつC言語に詳しくなれるし、他言語の構文を学ぶきっかけにもなる
155デフォルトの名無しさん (ワッチョイ cb88-4TTv)
2019/11/13(水) 18:01:38.54ID:3gCJP2hx0 楽しそうだと思うものをやるのが一番学習には向いてる
組み込みも幅は広くてOSがあったりなかったり様々
やって全く不要だったとはならんと思うよ
組み込みも幅は広くてOSがあったりなかったり様々
やって全く不要だったとはならんと思うよ
156デフォルトの名無しさん (アウアウウー Sacf-xE2t)
2019/11/13(水) 18:17:24.08ID:G8O1eV9/a Arduinoはダメ?
157デフォルトの名無しさん (ワッチョイ 2b63-4TTv)
2019/11/13(水) 18:56:19.16ID:cq8qXzOO0 何を持ってダメ?なのかがわからんから答えようがない
何使ったって楽しく勉強できるなら関係なくない?
勉強すれば次が見えることもある
何使ったって楽しく勉強できるなら関係なくない?
勉強すれば次が見えることもある
158デフォルトの名無しさん (ワッチョイ 9fa5-sefN)
2019/11/13(水) 18:59:21.12ID:kE3A4AyF0 オームの法則からやった方がいいんじゃねえの
159デフォルトの名無しさん (アウアウウー Sacf-xE2t)
2019/11/13(水) 19:10:14.39ID:G8O1eV9/a160デフォルトの名無しさん (ラクッペ MM0f-ChRG)
2019/11/13(水) 19:19:54.35ID:puH+izSFM 組み込みは扱うものの範囲がベラボーに広いからターゲットが決まってないないなら
予備知識なんてそれこそ有りとあらゆる事を学ばなきゃならなくて時間の無駄
いきなりやりたいことに手を付けるとか目的の会社に就職する算段するとかの方が現実的
予備知識なんてそれこそ有りとあらゆる事を学ばなきゃならなくて時間の無駄
いきなりやりたいことに手を付けるとか目的の会社に就職する算段するとかの方が現実的
161デフォルトの名無しさん (スプッッ Sdbf-DZxH)
2019/11/13(水) 19:24:06.56ID:Fqkv69gYd 興味あるところを片っ端からやればいいよ
最近の新人はまともにコーディングしたことがない人が多くて驚く
最近の新人はまともにコーディングしたことがない人が多くて驚く
163デフォルトの名無しさん (ワッチョイ ef9e-DaD1)
2019/11/13(水) 21:24:12.52ID:h+5DYY+D0 ラズパイでもArduinoでもPICでもブレッドボード用意してまずはLチカから
トランジスタや7セグをやって、スイッチからの入力などとれるようになったら
またそこで考える
トランジスタや7セグをやって、スイッチからの入力などとれるようになったら
またそこで考える
164デフォルトの名無しさん (アウアウウー Sa45-coos)
2019/11/14(木) 03:35:32.04ID:YiNpU217a >>154
この本アセンブリとC言語の勉強になったりしない?
この本アセンブリとC言語の勉強になったりしない?
165デフォルトの名無しさん (ワッチョイ 7e7c-iGNt)
2019/11/14(木) 09:19:52.63ID:J2fP3wLz0 >>154
式をコンパイルするところでだいたい挫折する
式をコンパイルするところでだいたい挫折する
166デフォルトの名無しさん (ワイーワ2 FFca-/nAh)
2019/11/14(木) 11:24:43.32ID:Owl20mAsF167デフォルトの名無しさん (ワッチョイ e9aa-coos)
2019/11/14(木) 12:42:01.31ID:bgqE36PV0 じゃあやーめた
168デフォルトの名無しさん (スップ Sd02-lusp)
2019/11/14(木) 13:11:45.63ID:hMO8QTtJd まずはLチカでオームの法則を押さえよう
次はhFEだ フォトトラとダーリントン
フォトカプラとHブリッジあたりまでできるようになれば
あとはどうにでも
次はhFEだ フォトトラとダーリントン
フォトカプラとHブリッジあたりまでできるようになれば
あとはどうにでも
169デフォルトの名無しさん (ワッチョイ 068c-ENPG)
2019/11/14(木) 13:13:53.45ID:HGG0mhgt0 リレーかちゃかちゃも捨てがたい。
170デフォルトの名無しさん (スプッッ Sd02-iD2J)
2019/11/14(木) 13:20:17.46ID:/NpdgKVAd 組み込みだろうが回路は回路の専門家が考える
ソフトの新人が回路に意見しても聞いてくれないよ
ソフトの新人が回路に意見しても聞いてくれないよ
171デフォルトの名無しさん (ワッチョイ 7e7c-G967)
2019/11/14(木) 13:23:50.41ID:pX7h0rWU0 制御系の場合は、LTIシステム、Z変換など制御理論の基礎知識がないとそもそもプログラミングが出来ない
どの様にプログラムすれば良いのか迷い途方に暮れることになる
どの様にプログラムすれば良いのか迷い途方に暮れることになる
172デフォルトの名無しさん (スプッッ Sd02-iD2J)
2019/11/14(木) 13:26:39.57ID:/NpdgKVAd そういうのは実際に使う場面になってから勉強すればいいよ
ソフトは範囲が広すぎてどうせ全て学ぶのは無理だから
ソフトは範囲が広すぎてどうせ全て学ぶのは無理だから
173デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/14(木) 13:47:33.26ID:YSMwOav4a そういえば抵抗のカラーコードって色弱の人とかには辛いんじゃないか?
と、今ごろ気づく。
と、今ごろ気づく。
174デフォルトの名無しさん (アークセー Sx11-PSUN)
2019/11/14(木) 14:24:10.71ID:tET/gf2zx おじさんが若い頃は新人はPIOドライバを書くことから始めてたけど今じゃそれさえも最初からドライバやSDKで用意されてるものが多いしな。
組み込みソフト技術者を自称してる人でも最近じゃリセットエントリからSDRAM設定やスタック設定やセクション初期化とかmainがコールされるまでの部分を書ける人は少なくなってるね。
組み込みソフト技術者を自称してる人でも最近じゃリセットエントリからSDRAM設定やスタック設定やセクション初期化とかmainがコールされるまでの部分を書ける人は少なくなってるね。
175デフォルトの名無しさん (スップ Sd02-lusp)
2019/11/14(木) 16:16:57.62ID:hMO8QTtJd 組み込み分野で、私はソフト屋でハードはわかりません、なんてぬかすやつはビルから投げ捨てろ
176デフォルトの名無しさん (ササクッテロル Sp11-pwu9)
2019/11/14(木) 17:44:17.32ID:KJEtP35mp >>173
色弱で前までは気合で読んでたけど最近はスマホアプリとかで読んだりもする
色弱で前までは気合で読んでたけど最近はスマホアプリとかで読んだりもする
177デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/14(木) 18:45:54.05ID:YSMwOav4a なるほど。やはりそうか。
スマホアプリあってよかったな。
スマホアプリあってよかったな。
178デフォルトの名無しさん (ワッチョイ 8173-iD2J)
2019/11/14(木) 18:51:25.20ID:wXs4N2j20 今時カラーコード?
179デフォルトの名無しさん (アウアウウー Sa45-coos)
2019/11/14(木) 19:41:22.93ID:YiNpU217a ものづくりC言語塾とかいうプログラミングの勉強サイト見つけたんだけどわかりやすいのここ
180デフォルトの名無しさん (ワッチョイ 02a5-pb9v)
2019/11/14(木) 19:56:34.37ID:KjmBL3+S0 無駄なイメージ画像が矢鱈と多いね
チャッチャと本題に入ればいいのに
肝心のコードのフォントサイズ一回り小さくしてね?
逆だろ逆
チャッチャと本題に入ればいいのに
肝心のコードのフォントサイズ一回り小さくしてね?
逆だろ逆
181デフォルトの名無しさん (ワッチョイ 8279-iGNt)
2019/11/14(木) 21:05:18.98ID:mZpo/vPM0 分野的には制御&組み込みだが論理回路とかは初歩の初歩くらいしか分からんわ
別に組み込み屋を自称する気もないけど
別に組み込み屋を自称する気もないけど
182デフォルトの名無しさん (ワッチョイ 068c-ENPG)
2019/11/15(金) 00:45:20.33ID:r8gV+bPL0 建築土方で分ける方が良いかも。知らんけど
183デフォルトの名無しさん (ワッチョイ c27c-6iPJ)
2019/11/15(金) 00:59:59.43ID:YJCQuSug0 ポインタを返す関数の中身を他の変数にコピーしたいとき
int a;
a = *func();
みたいな事をしても良いんでしょうか?
コンパイルしたら動きましたが…
普通こういうことはしませんか?
int a;
a = *func();
みたいな事をしても良いんでしょうか?
コンパイルしたら動きましたが…
普通こういうことはしませんか?
184デフォルトの名無しさん (ワッチョイ 2e12-7Hrx)
2019/11/15(金) 01:54:01.65ID:GhKndF/D0 funcが返す値を開放する責任がないなら問題ない
185デフォルトの名無しさん (ワッチョイ c2c5-iGNt)
2019/11/15(金) 02:21:33.91ID:Re5Vtpoc0 >>183
これなにか使い道あるの?
これなにか使い道あるの?
186デフォルトの名無しさん (ワッチョイ c2c5-iGNt)
2019/11/15(金) 05:47:36.56ID:Re5Vtpoc0 ああ空目してたわスマソ
187デフォルトの名無しさん (スップ Sd02-lusp)
2019/11/15(金) 09:12:52.77ID:uuXKcbIGd188デフォルトの名無しさん (ラクッペ MM81-G967)
2019/11/15(金) 09:35:58.90ID:rGVJWIdvM 制御屋なら論理回路よりも伝達関数
189デフォルトの名無しさん (ドコグロ MM4a-0xny)
2019/11/15(金) 10:29:58.55ID:kGxI2dsUM190デフォルトの名無しさん (スップ Sd02-lusp)
2019/11/15(金) 11:04:39.89ID:uuXKcbIGd >>188
なぜ、よりもと択一選択するんだ?
なぜ、よりもと択一選択するんだ?
191デフォルトの名無しさん (ラクッペ MM81-G967)
2019/11/15(金) 11:25:31.01ID:rGVJWIdvM 極論すれば対象をモデル化して状態方程式をプログラムで逐次演算するアルゴリズムを実装するのが本来の制御系の組み込みソフト
論理回路のソフト処理への代替はコストダウンの一環で取り込むことはあってもあくまでオマケ
論理回路のソフト処理への代替はコストダウンの一環で取り込むことはあってもあくまでオマケ
192デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/15(金) 11:37:39.91ID:qkK0C17la >>178
抵抗って昔からカラーコードで抵抗値表してるのでは?今は変わったの?
抵抗って昔からカラーコードで抵抗値表してるのでは?今は変わったの?
193デフォルトの名無しさん (ワッチョイ 0261-bNU/)
2019/11/15(金) 11:43:07.73ID:bb6Q721I0194デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/15(金) 11:46:04.74ID:qkK0C17la >>183
良いんだけどNULL返されたらおしまいなのでそのためにワンクッション入れるのが普通なのではないな。
実際 localtime() なんかはエラーの時にNULL返す事になってるしな。自分の所の変数にコピーする場合はまずポインタで受けてNULLでなければポインタの指してる先がコピーされるように書くよ。
良いんだけどNULL返されたらおしまいなのでそのためにワンクッション入れるのが普通なのではないな。
実際 localtime() なんかはエラーの時にNULL返す事になってるしな。自分の所の変数にコピーする場合はまずポインタで受けてNULLでなければポインタの指してる先がコピーされるように書くよ。
195デフォルトの名無しさん (ワッチョイ 0d14-iGNt)
2019/11/15(金) 14:01:09.16ID:d61354ir0 >>192
チップ抵抗器って見たことない?
チップ抵抗器って見たことない?
196デフォルトの名無しさん (ワイーワ2 FFca-/nAh)
2019/11/15(金) 14:54:35.89ID:76R0IrhIF197デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/15(金) 15:03:20.79ID:qkK0C17la198デフォルトの名無しさん (スップ Sd02-lusp)
2019/11/15(金) 16:35:54.83ID:uuXKcbIGd core-i7のパッケージ天面にも貼ってあるから電子工作してなくても見かけることはありそうだが
199デフォルトの名無しさん (ワッチョイ 02a5-pb9v)
2019/11/15(金) 17:24:07.85ID:xeYG9inD0 見かけていてもアレが何なのか分からない、だろう
200デフォルトの名無しさん (スプッッ Sd02-iD2J)
2019/11/15(金) 17:31:28.56ID:pd2oXw5yd 最小は0201かな
3216とかは巨大に見える
3216とかは巨大に見える
201デフォルトの名無しさん (ワッチョイ 822c-Lnqu)
2019/11/15(金) 17:32:50.90ID:47DeWFED0 マイコン、ラズパイ、PLC, HDL, Rust
ニコ生では、HDLまで行ってるw
ニコ生では、HDLまで行ってるw
202デフォルトの名無しさん (ワッチョイ 8233-iGNt)
2019/11/15(金) 17:44:35.54ID:DqSPL00u0 https://ideone.com/y2Ogra
で0.3がFalseになるのはわかるのですが、0.2がTrueになるのはなぜですか?
で0.3がFalseになるのはわかるのですが、0.2がTrueになるのはなぜですか?
203デフォルトの名無しさん (スプッッ Sd02-iD2J)
2019/11/15(金) 17:49:31.04ID:pd2oXw5yd 一応環境依存
内部が2進数の浮動小数点なら
(普通の範囲なら)2倍は正確
0.3がfalseになるのがわかるなら
わかりそうなもんだけど
内部が2進数の浮動小数点なら
(普通の範囲なら)2倍は正確
0.3がfalseになるのがわかるなら
わかりそうなもんだけど
204デフォルトの名無しさん (ワッチョイ 8233-iGNt)
2019/11/15(金) 17:49:38.82ID:DqSPL00u0 精度の問題?
205デフォルトの名無しさん (ワッチョイ 8233-iGNt)
2019/11/15(金) 17:50:48.82ID:DqSPL00u0 >>203
ありがとうございました
ありがとうございました
206デフォルトの名無しさん (ワイーワ2 FFca-/nAh)
2019/11/15(金) 17:51:24.03ID:NLCWqdB7F double
https://ideone.com/9COXkq
0.2 True
0.3 False
--------
float
https://ideone.com/wzvO20
0.2 True
0.3 True
https://ideone.com/9COXkq
0.2 True
0.3 False
--------
float
https://ideone.com/wzvO20
0.2 True
0.3 True
207デフォルトの名無しさん (スプッッ Sd02-iD2J)
2019/11/15(金) 17:51:44.04ID:pd2oXw5yd これでわかったのかよ
多分わかってない
多分わかってない
208デフォルトの名無しさん (スプッッ Sd02-iD2J)
2019/11/15(金) 17:57:08.67ID:pd2oXw5yd 小数は無限個あるが
doubleやfloatで表現出来る値は有限個
だから正確に表す事が出来る小数はごく一部となる
ほとんどの環境では0.1を正確に表す事が出来ない
だから近似になる
0.1の近似を3個足したものの近似と
0.3の近似
これが同じ値になるかどうかは運しだい
doubleやfloatで表現出来る値は有限個
だから正確に表す事が出来る小数はごく一部となる
ほとんどの環境では0.1を正確に表す事が出来ない
だから近似になる
0.1の近似を3個足したものの近似と
0.3の近似
これが同じ値になるかどうかは運しだい
209デフォルトの名無しさん (スプッッ Sd02-iD2J)
2019/11/15(金) 18:11:10.06ID:pd2oXw5yd 多くの環境では
floatで24bit整数の範囲は正確に表現出来る
doubleで53bit整数の範囲は正確に表現出来る
floatでもdoubleでもlong doubleでも
元の値に対して2^nをかけても2^nで割っても
(それが普通に表現出来る範囲であれば)誤差はない
1/n は、nが2^mの形でない場合は必ず誤差が出る
このくらい覚えて置けばいい
floatで24bit整数の範囲は正確に表現出来る
doubleで53bit整数の範囲は正確に表現出来る
floatでもdoubleでもlong doubleでも
元の値に対して2^nをかけても2^nで割っても
(それが普通に表現出来る範囲であれば)誤差はない
1/n は、nが2^mの形でない場合は必ず誤差が出る
このくらい覚えて置けばいい
210デフォルトの名無しさん (ワッチョイ d163-jvSr)
2019/11/15(金) 18:18:26.55ID:NeivSIGq0211デフォルトの名無しさん (ワッチョイ 1102-coos)
2019/11/15(金) 18:24:08.60ID:uUFlvtLt0 趣味でC言語で遊んでるんだけど入門書読んで、
printf scanf if else switch等使ったプログラム作ったんだけど次に何をしたらいいかわからへんわ。
printf scanf if else switch等使ったプログラム作ったんだけど次に何をしたらいいかわからへんわ。
212デフォルトの名無しさん (ワッチョイ 1102-coos)
2019/11/15(金) 18:24:52.50ID:uUFlvtLt0 あんまりしっかりとポインタは勉強できてないんだけど、
ポインタっていつ使うの?って感じ。
組み込みやらんと基本的には使わない?
ポインタっていつ使うの?って感じ。
組み込みやらんと基本的には使わない?
213デフォルトの名無しさん (ワッチョイ 7188-L4DL)
2019/11/15(金) 18:35:40.25ID:SL2qDcaa0 組み込みじゃなくてもある程度大きなプログラムになればガンガン使う
むしろ一番使う型になるレベルで使うのがポインタになることもあるくらいには使う
むしろ一番使う型になるレベルで使うのがポインタになることもあるくらいには使う
214デフォルトの名無しさん (ワッチョイ 7188-L4DL)
2019/11/15(金) 18:37:30.96ID:SL2qDcaa0 ていうかscanfでポインタ使ってるで
文字列出力したなたprintfでも使ってる
はじめは実感無いかもしれんが
文字列出力したなたprintfでも使ってる
はじめは実感無いかもしれんが
215デフォルトの名無しさん (ワッチョイ 1102-coos)
2019/11/15(金) 18:43:16.92ID:uUFlvtLt0 全く実感ない
printfってどうやってできてんの
printfってどうやってできてんの
216デフォルトの名無しさん (ワッチョイ 1102-coos)
2019/11/15(金) 19:07:35.33ID:uUFlvtLt0 とりあえずポインタの勉強はやり直すわ。
次にArduinoでも触ってみるか
次にArduinoでも触ってみるか
217デフォルトの名無しさん (ワッチョイ 2101-wiCk)
2019/11/15(金) 19:17:18.51ID:hD6OtsPU0 オレオレprintf を実装しようとすると、鼻血が出そうで vsptrintf に○投げしてから加工する方向にいってしまう
218デフォルトの名無しさん (ワッチョイ 7188-L4DL)
2019/11/15(金) 19:17:48.26ID:SL2qDcaa0 >>215
関数に値を渡すのはわかるよね?
printfって関数に出力して欲しい数値や文字を渡してる
この渡すときにCPUの動き的には複製されたものが渡される
数値なら複製しても対して問題ないけど文字列の場合なんかだと複製することで消費されるメモリが増えてしまう
だから文字列全部を複製なんかせずに文字列の先頭の場所だけ渡す
受け取ったprintf側ではその場所を元に文字列にアクセスする
この場所を指し示す仕組みがポインタと呼ばれるもの
10文字でも1000文字でも先頭の場所、つまりアドレスは4byteとかで表せるので情報の受け渡し効率が良い
正確には間違ってる部分もあるかもしれんがだいたいこんなイメージ
関数に値を渡すのはわかるよね?
printfって関数に出力して欲しい数値や文字を渡してる
この渡すときにCPUの動き的には複製されたものが渡される
数値なら複製しても対して問題ないけど文字列の場合なんかだと複製することで消費されるメモリが増えてしまう
だから文字列全部を複製なんかせずに文字列の先頭の場所だけ渡す
受け取ったprintf側ではその場所を元に文字列にアクセスする
この場所を指し示す仕組みがポインタと呼ばれるもの
10文字でも1000文字でも先頭の場所、つまりアドレスは4byteとかで表せるので情報の受け渡し効率が良い
正確には間違ってる部分もあるかもしれんがだいたいこんなイメージ
219デフォルトの名無しさん (ワッチョイ 2101-PSUN)
2019/11/15(金) 19:23:26.49ID:H7D23ViK0220デフォルトの名無しさん (スプッッ Sd02-iD2J)
2019/11/15(金) 19:24:40.31ID:pd2oXw5yd 出力先が特殊なprintfじゃね?
221デフォルトの名無しさん (ワッチョイ 2101-wiCk)
2019/11/15(金) 19:30:11.03ID:hD6OtsPU0222デフォルトの名無しさん (ワッチョイ 1102-coos)
2019/11/15(金) 19:32:48.14ID:uUFlvtLt0 産休。関数とポインタをもう一度やり直してくる
224デフォルトの名無しさん (ワッチョイ 8279-iGNt)
2019/11/16(土) 00:52:24.12ID:D8F8Ex6/0 ポインタを使わないならCを使わない方がいいという程度にはポインタはCの肝
ポインタを使わないなら素直に安全で高級な言語を使った方がいい
ポインタを使わないなら素直に安全で高級な言語を使った方がいい
225デフォルトの名無しさん (ワッチョイ e17b-5Erk)
2019/11/16(土) 07:48:38.95ID:fjjXSMO90 エントリ関数を int main(int argc, char *argv[]) と書いた時点で
ポインタを使ってる、とも言えるんだよな。
int main(void) で始めてるかもしれんけど。
ポインタを使ってる、とも言えるんだよな。
int main(void) で始めてるかもしれんけど。
226デフォルトの名無しさん (ワッチョイ 1102-coos)
2019/11/16(土) 08:31:42.30ID:ptZ6lm890 int main()しか使ってないわ。どういう時に使うんだっけそれ
227デフォルトの名無しさん (ワッチョイ 8173-iD2J)
2019/11/16(土) 09:17:50.44ID:sxDPEgRe0228デフォルトの名無しさん (ワッチョイ e963-L4DL)
2019/11/16(土) 09:48:51.08ID:+/ZlAd+w0 コマンドラインから情報を受け取って処理したいときに使う
関数の引数と同じ
関数の引数と同じ
229デフォルトの名無しさん (ワッチョイ 6d51-6HYk)
2019/11/16(土) 09:56:15.61ID:fbhJUidB0 言語を変えるのではなく
職業を変えるべきだなw
職業を変えるべきだなw
230デフォルトの名無しさん (ワッチョイ 8173-iD2J)
2019/11/16(土) 10:15:36.12ID:sxDPEgRe0 ポインタの使い方を覚えるって言ってるんだから
それでいいじゃん
それでいいじゃん
231デフォルトの名無しさん (アウアウウー Sa45-coos)
2019/11/16(土) 10:31:31.82ID:jtqy6mRLa C言語でOS作ってみたいんだけどなぁ。入門レベルじゃきびしいな
232デフォルトの名無しさん (ワッチョイ 8173-iD2J)
2019/11/16(土) 10:50:41.32ID:sxDPEgRe0 アセンブラの経験が豊富ならなんとかなる
233デフォルトの名無しさん (ワッチョイ 2101-PSUN)
2019/11/16(土) 10:59:49.49ID:10CoeX0f0 >>231
簡単なRTOSでもまともに作るならCだけで書くのは不可能。
簡単なRTOSでもまともに作るならCだけで書くのは不可能。
234デフォルトの名無しさん (スプッッ Sd02-iD2J)
2019/11/16(土) 11:09:44.67ID:lV5RucvDd Cだけで?
そりゃ無理だ
そりゃ無理だ
235デフォルトの名無しさん (ワッチョイ 7e7c-iGNt)
2019/11/16(土) 11:34:35.99ID:xKHzNgdA0 >>234
ほんの少しインチキをするだけで、全てC言語で書ける
ほんの少しインチキをするだけで、全てC言語で書ける
236デフォルトの名無しさん (スプッッ Sd02-iD2J)
2019/11/16(土) 12:06:40.29ID:lV5RucvDd バイナリコード直接記述?
それはC言語で記述とは言わないような
インラインアセンブラも同じ
それはC言語で記述とは言わないような
インラインアセンブラも同じ
237デフォルトの名無しさん (ワッチョイ 82ad-6d/E)
2019/11/16(土) 22:07:42.30ID:gv6Xc8ej0 >>234
大半はCで行けそうな感じはするけどな。実際にUNIXやLinuxはそうだし。
厳密に完全に100%Cにするとなると最初からそれを考慮してCPU作らないとできないとは思うが、かといってその必要性はないな。研究目的ならわかるが。
大半はCで行けそうな感じはするけどな。実際にUNIXやLinuxはそうだし。
厳密に完全に100%Cにするとなると最初からそれを考慮してCPU作らないとできないとは思うが、かといってその必要性はないな。研究目的ならわかるが。
238デフォルトの名無しさん (ワッチョイ 8202-y756)
2019/11/17(日) 00:21:50.66ID:CjHjsj5F0 >>237
こういう知ったかして無知晒すバカはどうにかならんのかいな
こういう知ったかして無知晒すバカはどうにかならんのかいな
239デフォルトの名無しさん (ワッチョイ 0295-iGNt)
2019/11/17(日) 05:19:33.36ID:oJzZE04E0 痛いのが好きなんでしょう
鞭も旨い
おそまつさまでした
鞭も旨い
おそまつさまでした
240デフォルトの名無しさん (ワッチョイ 65e5-6HYk)
2019/11/17(日) 06:34:34.75ID:cZKVuoHK0241デフォルトの名無しさん (スップ Sd02-iD2J)
2019/11/17(日) 13:31:04.48ID:Mp5WsRX6d 大半は
100%
話がかみあってない
100%
話がかみあってない
242デフォルトの名無しさん (スップ Sd02-iD2J)
2019/11/17(日) 13:31:40.86ID:Mp5WsRX6d 動き出すだけなら100%C言語って今時珍しくも無い
243デフォルトの名無しさん (ラクッペ MM81-G967)
2019/11/17(日) 14:11:44.51ID:0F7CIe0FM スタートアップルーチンに頼らずにmain関数が自立起動するのか
244デフォルトの名無しさん (ワッチョイ 8201-0xny)
2019/11/17(日) 14:12:07.45ID:SNu9npot0245デフォルトの名無しさん (ブーイモ MM0d-7Hrx)
2019/11/17(日) 14:26:46.20ID:Aepb3ANuM > startup.s/head.s
明日から仕事来なくていいから。
明日から仕事来なくていいから。
246デフォルトの名無しさん (ワッチョイ 7e7c-iGNt)
2019/11/17(日) 14:29:44.06ID:AyzIbzU+0247デフォルトの名無しさん (ワッチョイ 65e5-6HYk)
2019/11/17(日) 14:35:54.32ID:cZKVuoHK0248デフォルトの名無しさん (スップ Sd02-iD2J)
2019/11/17(日) 14:59:34.01ID:Mp5WsRX6d249デフォルトの名無しさん (ワッチョイ 65e5-6HYk)
2019/11/17(日) 15:17:17.70ID:cZKVuoHK0 231 CでOS作ってみたい
233 RTOSでさえ無理
234 Cだけで?そりゃ無理
237 100%Cは最初からそれを考慮したCPUならできる ←キ
238 237はシッタカ
240 特権命令は?Cプログラムが動き出せる準備は?
241 大半は100% ←キ
243 スタートアップ不要のmainとは?
244 OSの話だよ?
247 話を逸らすな
248 スタートアップだOSじゃない ←キ
233 RTOSでさえ無理
234 Cだけで?そりゃ無理
237 100%Cは最初からそれを考慮したCPUならできる ←キ
238 237はシッタカ
240 特権命令は?Cプログラムが動き出せる準備は?
241 大半は100% ←キ
243 スタートアップ不要のmainとは?
244 OSの話だよ?
247 話を逸らすな
248 スタートアップだOSじゃない ←キ
250デフォルトの名無しさん (ワッチョイ 7e7c-iGNt)
2019/11/17(日) 15:58:49.57ID:AyzIbzU+0251デフォルトの名無しさん (スップ Sd02-iD2J)
2019/11/17(日) 16:08:09.90ID:Mp5WsRX6d252240 (ワッチョイ 65e5-6HYk)
2019/11/17(日) 16:20:24.24ID:cZKVuoHK0253デフォルトの名無しさん (スップ Sd02-iD2J)
2019/11/17(日) 16:31:19.54ID:Mp5WsRX6d いや、
どっちかっていうと趣味みたいなもんで
いろんなCPUでやってるけど
ただ単に
Cプログラムが動き出せる最低限の条件
と書いてあるんだからOS起動ではないでしょ
どっちかっていうと趣味みたいなもんで
いろんなCPUでやってるけど
ただ単に
Cプログラムが動き出せる最低限の条件
と書いてあるんだからOS起動ではないでしょ
254デフォルトの名無しさん (ワッチョイ 65e5-6HYk)
2019/11/17(日) 16:47:01.78ID:cZKVuoHK0 話の発端からずっとOSの話で
シッタカを指摘されて悔しくて悔しくて仕方なくて
スタートアップの話に逸らそうとしているのが約1名いるが
シッタカを指摘されて悔しくて悔しくて仕方なくて
スタートアップの話に逸らそうとしているのが約1名いるが
255デフォルトの名無しさん (スップ Sd02-iD2J)
2019/11/17(日) 16:58:35.66ID:Mp5WsRX6d Cプログラムと書いてあるんだからCプログラムだろ
OSが起動出来る十分条件ではなく、必要条件の1個
特権命令もその一つ
もっとも特権命令が存在しないCPUや使わなくてもOSがつくれるCPUがあるので
必要条件ではないけど
OSが起動出来る十分条件ではなく、必要条件の1個
特権命令もその一つ
もっとも特権命令が存在しないCPUや使わなくてもOSがつくれるCPUがあるので
必要条件ではないけど
256デフォルトの名無しさん (スップ Sd02-iD2J)
2019/11/17(日) 17:01:55.70ID:Mp5WsRX6d OS起動ならOS起動と書くだろう
257デフォルトの名無しさん (ラクッペ MM81-G967)
2019/11/17(日) 17:02:57.82ID:0F7CIe0FM ベアメタルであれば尚更main関数を呼び出す前に割込みベクターやスタックポインタの初期化などいろいろ準備が必要だろ
OSに頼れないので自分で準備しないとC
のプログラムは動き出せない
OSに頼れないので自分で準備しないとC
のプログラムは動き出せない
258デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/17(日) 17:04:33.98ID:8gWobnsKa さて、次にどんな燃料を投下すれば炎上するか・・・
259デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/17(日) 17:06:07.28ID:8gWobnsKa とりあえずCでOSでスレが活性化することはわかった。機会があったら他の掲示板でもやってみよう。
260デフォルトの名無しさん (ワッチョイ 8201-0xny)
2019/11/17(日) 18:37:16.77ID:SNu9npot0261デフォルトの名無しさん (ワッチョイ 8201-0xny)
2019/11/17(日) 18:42:52.80ID:SNu9npot0263デフォルトの名無しさん (ワッチョイ 2101-PSUN)
2019/11/17(日) 18:53:56.89ID:q2lewe9O0 そのメモリ、いやもっと言えばバスの初期化はいつ誰がやるのかと。
264デフォルトの名無しさん (スップ Sda2-iD2J)
2019/11/18(月) 00:18:37.90ID:FmL1TMPdd265デフォルトの名無しさん (スップ Sda2-iD2J)
2019/11/18(月) 00:21:29.64ID:FmL1TMPdd266デフォルトの名無しさん (ワッチョイ cdda-JEG5)
2019/11/18(月) 03:24:34.33ID:7xBgQ7dd0267デフォルトの名無しさん (ワッチョイ 8201-0xny)
2019/11/18(月) 05:02:13.80ID:lwVIqPwD0268デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/18(月) 07:58:00.65ID:skAn5Z6md Cだけで起動できるCPUって、まさかとは思うがPICじゃねえだろうなwww
269デフォルトの名無しさん (アークセー Sx11-PSUN)
2019/11/18(月) 08:51:34.79ID:G/ZMLQZPx270デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/18(月) 08:57:47.13ID:skAn5Z6md メモリの接続方法なんか全然関係ない
おまえアホか
おまえアホか
271デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/18(月) 09:02:39.86ID:skAn5Z6md PICと言った意味も通じてねえな、こりゃw
まさかの更に下をくぐりやがった
まさかの更に下をくぐりやがった
272デフォルトの名無しさん (ワッチョイ 7188-L4DL)
2019/11/18(月) 09:05:45.96ID:tFTaAL8Z0 OSの無い組み込み環境なんて山ほど存在してて、その環境の中で全部Cのもで書いてるとこも存在してる
そもそもOS入れられるような環境とは言えないけど、こういうとこでCで書いてるものにOS的な動作をさせればそれはCのみで作ったOSと言えるのか?
おそらくどこからどこまでがOSの領域か?がずれてるから延々と罵り合いになるのでは?
そもそもOS入れられるような環境とは言えないけど、こういうとこでCで書いてるものにOS的な動作をさせればそれはCのみで作ったOSと言えるのか?
おそらくどこからどこまでがOSの領域か?がずれてるから延々と罵り合いになるのでは?
273デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/18(月) 09:24:05.89ID:skAn5Z6md ほらな、やっぱりPICと言った意味が通じてないw
274デフォルトの名無しさん (ワッチョイ e9aa-coos)
2019/11/18(月) 09:59:14.55ID:FeTeb+YA0 私のために争わないで!
275デフォルトの名無しさん (スッップ Sda2-iD2J)
2019/11/18(月) 10:07:53.61ID:sZ0WVu3/d 最近PICを覚えたの?
276デフォルトの名無しさん (スッップ Sda2-iD2J)
2019/11/18(月) 10:13:12.39ID:sZ0WVu3/d ARMとかRXとかSHとか...
スタートアップ含めCだけで書ける
(全ての環境でとは言わないけど)
スタートアップ含めCだけで書ける
(全ての環境でとは言わないけど)
277デフォルトの名無しさん (ワッチョイ cdda-JEG5)
2019/11/18(月) 10:27:02.98ID:7xBgQ7dd0 組み込み用の処理系についてはメーカ独自拡張の独壇場
コンパイラ本体は
__section
__bank
__interrupt
など独自拡張多し
プリプロセッサも
#pragma
で設定弄らないといけないので注意
コンパイラ本体は
__section
__bank
__interrupt
など独自拡張多し
プリプロセッサも
#pragma
で設定弄らないといけないので注意
278デフォルトの名無しさん (ワッチョイ cdda-JEG5)
2019/11/18(月) 10:37:04.01ID:7xBgQ7dd0 スタートアップファイルはC言語のような殆ど何か別言語に近い感覚
279デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/18(月) 11:31:43.74ID:skAn5Z6md >>276
そのスタートアップはどうやって起動するんだよ
そのスタートアップはどうやって起動するんだよ
280デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/18(月) 12:06:28.17ID:vV3s+CrDa ピクピク
281デフォルトの名無しさん (ドコグロ MM4a-0xny)
2019/11/18(月) 12:28:42.25ID:S9/8fJfLM >>273
PIC8からPIC32まであるのにPICだけで話が通じると思ってるのはちょっと世間知らずすぎる
PIC8からPIC32まであるのにPICだけで話が通じると思ってるのはちょっと世間知らずすぎる
282デフォルトの名無しさん (ドコグロ MM4a-0xny)
2019/11/18(月) 12:29:47.29ID:S9/8fJfLM283デフォルトの名無しさん (ブーイモ MM76-th7b)
2019/11/18(月) 12:31:32.89ID:fft3f69BM いまなら、C言語だけで書いたOSをUEFI でロードして起動するとかできるだろ?
C言語で書けない操作は UEFI 側で設定したものをそのまま使う
C言語で書けない操作は UEFI 側で設定したものをそのまま使う
284デフォルトの名無しさん (ワッチョイ 0d73-iGNt)
2019/11/18(月) 12:39:27.00ID:1LpBylKv0 PC-88/98のFDブートはFDの最初のセクタから256バイト読み込んで実行するんだっけ?
そのプログラム書くのに適したCコンパイラってあるの?
そのプログラム書くのに適したCコンパイラってあるの?
285デフォルトの名無しさん (アウウィフ FF45-/Df3)
2019/11/18(月) 12:59:12.61ID:ahZzeXy3F CP/MにはBDSCが定番だった
286デフォルトの名無しさん (スプッッ Sda2-iD2J)
2019/11/18(月) 13:14:35.59ID:IDpLc7eed >>279
人に聞かないで自分で調べて
人に聞かないで自分で調べて
287デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/18(月) 13:15:54.90ID:skAn5Z6md >>282
俺もそんなことだろうと見ているw
俺もそんなことだろうと見ているw
288デフォルトの名無しさん (スプッッ Sda2-iD2J)
2019/11/18(月) 13:23:20.40ID:IDpLc7eed 本気で知りたいならそれ相応の態度で
289デフォルトの名無しさん (ワッチョイ d11d-7HT4)
2019/11/18(月) 14:18:07.35ID:+ljooU2/0 ビジネスで優秀な人材育成する上司は何を教えているのか?
https://www.youtube.com/watch?v=apxtSqxjw08&t=13s
マクドナルド伝説の店長が教える、最強店長になるために必要なこと
https://www.youtube.com/watch?v=0wMbR7JIeeQ&t=3154s
「最強の働き方」長時間労働やノウハウよりも大切なこと
https://www.youtube.com/watch?v=JnMHbI1-e3E&t=3606s
美容師の楽しさ再発見!やる気スイッチが入る働き方セミナー
https://www.youtube.com/watch?v=DGzXQT799oY
視覚障がいを乗り越えた活法家
https://www.youtube.com/watch?v=6IuY_K3uFdo&t=805s
https://www.youtube.com/watch?v=apxtSqxjw08&t=13s
マクドナルド伝説の店長が教える、最強店長になるために必要なこと
https://www.youtube.com/watch?v=0wMbR7JIeeQ&t=3154s
「最強の働き方」長時間労働やノウハウよりも大切なこと
https://www.youtube.com/watch?v=JnMHbI1-e3E&t=3606s
美容師の楽しさ再発見!やる気スイッチが入る働き方セミナー
https://www.youtube.com/watch?v=DGzXQT799oY
視覚障がいを乗り越えた活法家
https://www.youtube.com/watch?v=6IuY_K3uFdo&t=805s
290デフォルトの名無しさん (ワッチョイ 65e5-6HYk)
2019/11/18(月) 20:40:54.63ID:oSLwFt1+0 ヒヨッ子が物を知らねえのは別にいいんだよ、当たり前
シッタカこくのと指摘されてからの逆ギレが攻撃対象になるんだ
シッタカこくのと指摘されてからの逆ギレが攻撃対象になるんだ
291デフォルトの名無しさん (ブーイモ MM0d-7Hrx)
2019/11/18(月) 20:50:41.53ID:Zo9NWI12M >>283
gccの場合は自動的にcrt0-efi-x86_64.Sをリンクするようだが
gccの場合は自動的にcrt0-efi-x86_64.Sをリンクするようだが
292デフォルトの名無しさん (アウアウウー Sa45-coos)
2019/11/18(月) 20:54:33.04ID:Ufz4tuHsa ものづくりC言語熟ってサイトいいじゃん!
293デフォルトの名無しさん (ワッチョイ 02a5-pb9v)
2019/11/18(月) 21:03:14.01ID:UWPzTs1l0 ものづくりC言語熟おいしい!一番好きなバーガーです!! って言ってほしいのか?
294デフォルトの名無しさん (アウアウウー Sa45-coos)
2019/11/18(月) 21:06:39.12ID:Ufz4tuHsa >>293
もしかしてキ○ガイ?
もしかしてキ○ガイ?
295デフォルトの名無しさん (ワッチョイ 1102-coos)
2019/11/18(月) 21:29:13.55ID:9xSA7Xxe0 ものづくりC言語塾のポインタの説明わけわからん
296デフォルトの名無しさん (ワッチョイ 2905-n3bN)
2019/11/18(月) 22:06:08.02ID:WvhlQmiy0 C言語のポインタはCPU機械語における間接アドレシングの抽象化だろ?
それ以上でも以下でも無い
それ以上でも以下でも無い
297デフォルトの名無しさん (ワッチョイ 0261-bNU/)
2019/11/18(月) 22:11:27.28ID:Vzii0sJA0298デフォルトの名無しさん (ワッチョイ 8173-iD2J)
2019/11/19(火) 00:13:05.05ID:SDEP65Ha0 それ以上もそれ以下もそれを含む
299デフォルトの名無しさん (ワイーワ2 FFca-/nAh)
2019/11/19(火) 12:48:33.17ID:8naC8O/UF >>296
インクリメントは良く出来てるな
あとポインタのポインタと配列へのポインタの文法を混乱して覚えてる人が居て
そいつらのせいで劣化コピーが出回ってるのがさらなる混乱の原因
正しく理解して正しく使えばCのポインタは何も難しくない
インクリメントは良く出来てるな
あとポインタのポインタと配列へのポインタの文法を混乱して覚えてる人が居て
そいつらのせいで劣化コピーが出回ってるのがさらなる混乱の原因
正しく理解して正しく使えばCのポインタは何も難しくない
300デフォルトの名無しさん (スップ Sda2-iD2J)
2019/11/19(火) 13:21:56.35ID:lt+0x6jod301デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/19(火) 13:26:52.18ID:O502C4IMd 二次元配列は二重ポインタで扱うという自分の勘違いを正当化したくて
mallocでポインタの配列を作るやり方を唯一正統と強弁するアホが
fjで暴れてたな、そういえば
mallocでポインタの配列を作るやり方を唯一正統と強弁するアホが
fjで暴れてたな、そういえば
302デフォルトの名無しさん (ラクッペ MM81-G967)
2019/11/19(火) 13:59:41.39ID:9idMfLVKM ポインタのポインタ **p
配列へのポインタ (*p)[]
ポインタの配列 *p[]
配列へのポインタ (*p)[]
ポインタの配列 *p[]
303デフォルトの名無しさん (ワイーワ2 FFca-/nAh)
2019/11/19(火) 14:08:13.34ID:8naC8O/UF >>300 みたいなのを炙り出せたのであれば
レスに意味があったと言えよう
レスに意味があったと言えよう
304デフォルトの名無しさん (オイコラミネオ MM96-G967)
2019/11/19(火) 19:58:13.32ID:r9zE5eVQM305デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/19(火) 20:13:13.80ID:O502C4IMd306デフォルトの名無しさん (オイコラミネオ MM96-G967)
2019/11/19(火) 20:14:48.63ID:r9zE5eVQM307デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/19(火) 20:16:56.03ID:c65LTQ+sa >>299
アセンブラやったことのない人は中々正しく理解できないようで、それでポインタの事だけ書いてある本が沢山出ちゃうんだろうな。
アセンブラやったことのない人は中々正しく理解できないようで、それでポインタの事だけ書いてある本が沢山出ちゃうんだろうな。
308デフォルトの名無しさん (アークセー Sx11-9KXC)
2019/11/19(火) 21:33:52.66ID:pHwegslWx 何年も書かないと忘れるな〜
ポインタのポインタは、ポインタの値を参照渡しするときくらいしか思いつかん
char *p;
foo(&p);
void foo(char **p) {…}
みたいな、
305のような書き方はピンとこないわ
ポインタのポインタは、ポインタの値を参照渡しするときくらいしか思いつかん
char *p;
foo(&p);
void foo(char **p) {…}
みたいな、
305のような書き方はピンとこないわ
309デフォルトの名無しさん (ドコグロ MM4a-0xny)
2019/11/19(火) 21:36:01.90ID:+Tz70BZqM310デフォルトの名無しさん (ワッチョイ a277-6HYk)
2019/11/19(火) 21:49:57.72ID:3qWxJKAv0 int a=0;
int *pa=&a;
int **ppa =&pa;
int ***pppa = &ppa;
int *pa=&a;
int **ppa =&pa;
int ***pppa = &ppa;
311デフォルトの名無しさん (ワッチョイ 02a5-pb9v)
2019/11/19(火) 22:00:51.47ID:JHNr41O80 でもこういう関数だとポインタだけでやりたくなる
mul(double** x, double** y, int n, int m){
mul(double x[][20], double y[][20], int n, int m){
mul(double** x, double** y, int n, int m){
mul(double x[][20], double y[][20], int n, int m){
312デフォルトの名無しさん (ワッチョイ 8173-iD2J)
2019/11/19(火) 22:37:16.16ID:SDEP65Ha0 const 付けない系?
313デフォルトの名無しさん (ワッチョイ 65e5-6HYk)
2019/11/19(火) 22:47:26.54ID:8ta2T3rG0 また関係ないことを・・・
314デフォルトの名無しさん (ラクッペ MM81-G967)
2019/11/20(水) 05:59:16.05ID:6t1gUx2GM 関数の引数に限って言えば
func(**p)
func(*p[])
func(p[][])
func(p[][10])
どれでも同じ
引数として配列を引き渡す方法はない
どれも先頭要素へのポインタが値渡しされる
関数側で引数がポインタへのポインタ(いわゆる二重ポインタ)なのか、ポインタの配列なのか、配列の配列(いわゆる二次元配列) なのか区別する手段はない
引数に配列として要素数を渡してもエラーにはならないだけで無視される
func(**p)
func(*p[])
func(p[][])
func(p[][10])
どれでも同じ
引数として配列を引き渡す方法はない
どれも先頭要素へのポインタが値渡しされる
関数側で引数がポインタへのポインタ(いわゆる二重ポインタ)なのか、ポインタの配列なのか、配列の配列(いわゆる二次元配列) なのか区別する手段はない
引数に配列として要素数を渡してもエラーにはならないだけで無視される
315デフォルトの名無しさん (スッップ Sda2-lusp)
2019/11/20(水) 06:42:28.35ID:06vL+ArYd どこから突っ込んでいいやら・・・
出鱈目にも程があるぜ
出鱈目にも程があるぜ
316デフォルトの名無しさん (ワッチョイ cdda-JEG5)
2019/11/20(水) 07:18:49.43ID:CxWhIUNe0 関数の宣言文で説明だけなので変数型を省略してるだけだろ
配列の変数名がpならば呼び出しは
func(p)
でもいける
結局は先頭アドレスさえ渡せれば何でもいい
配列の変数名がpならば呼び出しは
func(p)
でもいける
結局は先頭アドレスさえ渡せれば何でもいい
317デフォルトの名無しさん (エムゾネ FFa2-lusp)
2019/11/20(水) 07:45:40.36ID:uVU8YbeSF [][]なんて構文あるかヴォケ
318デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/20(水) 09:49:56.67ID:gQNT2Wxfa >>314
プロトタイプ宣言しておけばC言語としては違う状態になるよ。
プロトタイプ宣言しておけばC言語としては違う状態になるよ。
319デフォルトの名無しさん (ワッチョイ cdda-JEG5)
2019/11/20(水) 10:34:34.94ID:CxWhIUNe0 プロトタイプ宣言では状態を区別はしない
プロトタイプ宣言
void func(char *p[]);
関数定義
void func(char **p) {}
https://i.imgur.com/mMQGNga.png
プロトタイプ宣言
void func(char *p[]);
関数定義
void func(char **p) {}
https://i.imgur.com/mMQGNga.png
320デフォルトの名無しさん (ワイーワ2 FFca-/nAh)
2019/11/20(水) 12:01:08.83ID:grCkJCm3F321デフォルトの名無しさん (ワイーワ2 FFca-/nAh)
2019/11/20(水) 12:06:59.82ID:grCkJCm3F >>311
何を目的に書いてるのか知らんが
A: mul(double** x, double** y, int n, int m){
B: mul(double x[][20], double y[][20], int n, int m){
C: mul(double (*x)[20], double (*y)[20], int n, int m){
AとBは等価じゃないぞ
何を目的に書いてるのか知らんが
A: mul(double** x, double** y, int n, int m){
B: mul(double x[][20], double y[][20], int n, int m){
C: mul(double (*x)[20], double (*y)[20], int n, int m){
AとBは等価じゃないぞ
322デフォルトの名無しさん (ワッチョイ cdda-JEG5)
2019/11/20(水) 13:41:25.47ID:CxWhIUNe0 変数としてのxは
A:double型のポインタを指すポインタ
B:double型の配列を要素とする配列の先頭要素を指すポインタ
C:double型の配列を指すポインタ
関数の引数としてのxは
A,B,Cすべてdouble型の参照オブジェクト(何でもいい)を指すポインタ
A:double型のポインタを指すポインタ
B:double型の配列を要素とする配列の先頭要素を指すポインタ
C:double型の配列を指すポインタ
関数の引数としてのxは
A,B,Cすべてdouble型の参照オブジェクト(何でもいい)を指すポインタ
323デフォルトの名無しさん (アウアウウー Sa45-ikGc)
2019/11/20(水) 15:18:17.42ID:7Jz+3SpEa324デフォルトの名無しさん (ワッチョイ cdda-tLD+)
2019/11/20(水) 15:27:36.91ID:CxWhIUNe0 まあ実際C:のような例は見たことはないけど、少なくともA:とB:は関数の引数としては同じと解釈される
中身は受け取った関数側でプログラマが処理する事案であってdouble型の何かを指すポインタという以上の意味はない
中身は受け取った関数側でプログラマが処理する事案であってdouble型の何かを指すポインタという以上の意味はない
325デフォルトの名無しさん (ワッチョイ 0269-wiCk)
2019/11/20(水) 15:59:50.97ID:jGIPXiJ00 分かりきった固定要素数の配列を渡すのはいっかい struct で包んじゃうわ
struct foo {
double array[20];
};
mul(struct foo* x, struct foo* y, ...)
struct foo {
double array[20];
};
mul(struct foo* x, struct foo* y, ...)
327デフォルトの名無しさん (ラクッペ MM81-G967)
2019/11/20(水) 16:40:06.35ID:6t1gUx2GM >>323,326
ただの罵倒ではなくてもう少し有益なレスしろよ
ただの罵倒ではなくてもう少し有益なレスしろよ
328デフォルトの名無しさん (アウアウウー Sa45-ikGc)
2019/11/20(水) 16:50:21.31ID:VaHfdLQca >>324
A,Bそれぞれのsizeof(x)やx+1について、値や型を比較してみろよ。意味が違うことがわかるから。
A,Bそれぞれのsizeof(x)やx+1について、値や型を比較してみろよ。意味が違うことがわかるから。
329デフォルトの名無しさん (アウウィフ FF45-/Df3)
2019/11/20(水) 16:54:14.17ID:ACUpjjQJF330デフォルトの名無しさん (ワッチョイ cdda-tLD+)
2019/11/20(水) 17:02:30.65ID:CxWhIUNe0331デフォルトの名無しさん (ワッチョイ cdda-tLD+)
2019/11/20(水) 17:03:37.18ID:CxWhIUNe0 訂正
**p ← *pp
**p ← *pp
332デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/20(水) 17:18:03.94ID:gQNT2Wxfa >>324
いや。AとBは違う。
いや。AとBは違う。
333デフォルトの名無しさん (アウウィフ FF45-/Df3)
2019/11/20(水) 17:19:03.29ID:ACUpjjQJF334デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/20(水) 17:36:55.77ID:gQNT2Wxfa その通り
335デフォルトの名無しさん (ワッチョイ cdda-tLD+)
2019/11/20(水) 17:38:35.24ID:CxWhIUNe0 納得
そりゃそーだ
すまんかった
そりゃそーだ
すまんかった
336デフォルトの名無しさん (アウアウクー MMd1-+hLn)
2019/11/20(水) 18:37:56.75ID:lnMf/X4/M 初めて書き込む初心者ですが
配列存在そのものがポインタと違う
という話と
ポインタとして渡して同じように扱える
という話の食い違いをしてるのですか?
配列存在そのものがポインタと違う
という話と
ポインタとして渡して同じように扱える
という話の食い違いをしてるのですか?
337デフォルトの名無しさん (アウウィフ FF45-/Df3)
2019/11/20(水) 19:19:34.26ID:ACUpjjQJF ポインタの配列はポインタのポインタとして扱えるが
配列へのポインタはポインタのポインタとして扱ってはいけないって話
そりゃ無理に使おうとすれば使えない訳じゃないが止めた方が良い
配列へのポインタはポインタのポインタとして扱ってはいけないって話
そりゃ無理に使おうとすれば使えない訳じゃないが止めた方が良い
338デフォルトの名無しさん (スプッッ Sd81-iD2J)
2019/11/20(水) 19:45:26.72ID:/a5mIgHWd char a[2][2];
これは a[0][0], a[0][1], a[1][0], a[1][1] の順にcharが4個ならんだデータ
char *b[2] = {a[0], a[1]};
という配列をaとは別に作ってはじめて
char **として扱える
これは a[0][0], a[0][1], a[1][0], a[1][1] の順にcharが4個ならんだデータ
char *b[2] = {a[0], a[1]};
という配列をaとは別に作ってはじめて
char **として扱える
339デフォルトの名無しさん (スプッッ Sd81-iD2J)
2019/11/20(水) 19:47:17.62ID:/a5mIgHWd aは(中身は)4このデータの先頭アドレスで
bはアドレスの配列の先頭アドレス
データが異なるので無理やりキャストしてもダメ
bはアドレスの配列の先頭アドレス
データが異なるので無理やりキャストしてもダメ
340デフォルトの名無しさん (アウアウウー Sa45-nhir)
2019/11/20(水) 20:34:14.51ID:gQNT2Wxfa そしてまたポインタ解説本が一冊増えるのであった
341デフォルトの名無しさん (アークセー Sx11-9KXC)
2019/11/20(水) 21:23:45.88ID:QqNmmDM2x >>320
何だそうか、親切にありがとう!
何だそうか、親切にありがとう!
342デフォルトの名無しさん (ワッチョイ 93c5-QS5Z)
2019/11/25(月) 13:03:01.01ID:pSQ/T/wR0 私はC言語の神だ
何か私に聞きたいことはあるか?
何か私に聞きたいことはあるか?
343デフォルトの名無しさん (ワイーワ2 FF63-KqLj)
2019/11/25(月) 13:13:12.61ID:pjJuONFZF 余命何年かな
344デフォルトの名無しさん (ワッチョイ 93c5-QS5Z)
2019/11/25(月) 13:18:38.97ID:pSQ/T/wR0 余命は3152578641だ
345デフォルトの名無しさん (スッップ Sd33-/WwJ)
2019/11/25(月) 13:20:19.58ID:FcoOoav6d なんで & より == の方が強い?
なんで func と &func 両方とも関数へのポインタ
なんで char の符号有無を規定しなかった?
なんで func と &func 両方とも関数へのポインタ
なんで char の符号有無を規定しなかった?
346デフォルトの名無しさん (ワッチョイ 93c5-QS5Z)
2019/11/25(月) 13:22:22.93ID:pSQ/T/wR0 プログラマーは万能である
で、あれば、それらは些細なことだ
で、あれば、それらは些細なことだ
347デフォルトの名無しさん (ワッチョイ 2b7c-QS5Z)
2019/11/25(月) 14:10:49.09ID:ZBE9lLbs0 >>345
===は比較演算子で、&はビット演算子(扱いは算術演算子と大差ない)だから。
funcと&funcが同じなのは単なるシンタックスシュガー。 配列のそれと変わらん。
charは符号もへったくれも無かったため。 最上位がパリティなことも多かったし。
===は比較演算子で、&はビット演算子(扱いは算術演算子と大差ない)だから。
funcと&funcが同じなのは単なるシンタックスシュガー。 配列のそれと変わらん。
charは符号もへったくれも無かったため。 最上位がパリティなことも多かったし。
348デフォルトの名無しさん (ワイーワ2 FF63-KqLj)
2019/11/25(月) 14:13:37.69ID:pjJuONFZF char hoge[10][10];
があったとして
hoge と &hoge[0][0] が一緒なのは判るが
&hoge とか hoge[0][0] は一緒じゃない
があったとして
hoge と &hoge[0][0] が一緒なのは判るが
&hoge とか hoge[0][0] は一緒じゃない
349デフォルトの名無しさん (ワッチョイ 3988-+jxl)
2019/11/25(月) 14:40:15.02ID:xlCLCIdV0 算術演算子と大差無いと言うならなおさら優先順位が逆転するのは不思議
つうか神様への質問なんだからなんでそういう仕様になったかを答えてほしんでしょ
つうか神様への質問なんだからなんでそういう仕様になったかを答えてほしんでしょ
350デフォルトの名無しさん (スッップ Sd33-xphW)
2019/11/25(月) 15:00:15.21ID:Nb9YSlRod351デフォルトの名無しさん (ワッチョイ 1369-BEIG)
2019/11/25(月) 15:08:44.39ID:PWp9fS7h0 比較演算子が最下位ならすっきりする
a + 1 == 2 → (a + 1) == 2 の順と同じく
a & 1 == 2 → (a & 1) == 2 や
a % 2 == 1 → (a % 2) == 1 であってほしい
a + 1 == 2 → (a + 1) == 2 の順と同じく
a & 1 == 2 → (a & 1) == 2 や
a % 2 == 1 → (a % 2) == 1 であってほしい
352デフォルトの名無しさん (ワッチョイ 997b-H1eq)
2019/11/25(月) 16:42:52.23ID:Z7hJDN/t0 わたしゃ神様じゃないけど、カーニハンとパイクの『プログラミング作法』には
「カッコを使って演算子の優先順位の曖昧さを避けよう」みたいな項があるね。
もちろん規格では厳格に決まってるけど、使用者の記憶があやふやって話。
あの辺を読むと「ビット演算子より比較演算子を優先したのは誤りだったかも」と
ご当人が思ってたんじゃないかと感じるわ。
「カッコを使って演算子の優先順位の曖昧さを避けよう」みたいな項があるね。
もちろん規格では厳格に決まってるけど、使用者の記憶があやふやって話。
あの辺を読むと「ビット演算子より比較演算子を優先したのは誤りだったかも」と
ご当人が思ってたんじゃないかと感じるわ。
353デフォルトの名無しさん (ワッチョイ f963-/L9V)
2019/11/25(月) 16:46:33.35ID:72Xydbv80 今更いじれないだろうな
354デフォルトの名無しさん (スッップ Sd33-/WwJ)
2019/11/25(月) 18:07:03.06ID:FcoOoav6d 神様の回答が1個も無い
>>342
K&R1 から K&2 への相違で強烈に疑問を持っているのが
引数に配列をとったときは、配列の先頭のポインタが渡るのに、引数に構造体をおいたときは、構造体の実体がコピーされて渡されるのはなぜ?
馬鹿が
struct A {
int a[1234567890];
};
とかやったときには、これが関数の引数に乗ったときには、正気でコピーする気なのですか?
K&R1 から K&2 への相違で強烈に疑問を持っているのが
引数に配列をとったときは、配列の先頭のポインタが渡るのに、引数に構造体をおいたときは、構造体の実体がコピーされて渡されるのはなぜ?
馬鹿が
struct A {
int a[1234567890];
};
とかやったときには、これが関数の引数に乗ったときには、正気でコピーする気なのですか?
356デフォルトの名無しさん (スッップ Sd33-xphW)
2019/11/25(月) 19:22:13.99ID:Nb9YSlRod ん? 構造体が左辺値変形されるなんてことあったか?
357352 (ワッチョイ 997b-H1eq)
2019/11/25(月) 19:27:41.70ID:Z7hJDN/t0 2点ほど訂正させてくれ。
カーニハン先生はC言語に大きな貢献をしてるけど、C言語の設計は
リッチーさんの仕事でカーニハンさんは手を出してないんだね。
だからこの場合「ご当人」と呼ぶのは正しくなかった。
「ビット演算子より比較演算子を優先するとは、デニスの野郎め
下手コキやがって」と思ってるんじゃないかと感じるわ。
…という具合に訂正。
もうひとつ。カーニハン先生は今の時点で健在らしい。
実は先の投稿の時点で亡くなってると勘違いしていた。
これもリッチーさんと混同したのが原因。
カーニハン先生はC言語に大きな貢献をしてるけど、C言語の設計は
リッチーさんの仕事でカーニハンさんは手を出してないんだね。
だからこの場合「ご当人」と呼ぶのは正しくなかった。
「ビット演算子より比較演算子を優先するとは、デニスの野郎め
下手コキやがって」と思ってるんじゃないかと感じるわ。
…という具合に訂正。
もうひとつ。カーニハン先生は今の時点で健在らしい。
実は先の投稿の時点で亡くなってると勘違いしていた。
これもリッチーさんと混同したのが原因。
>>342
extern はいらない子!じゃないのですか?extern の必要性はなんですか?
extern はいらない子!じゃないのですか?extern の必要性はなんですか?
360デフォルトの名無しさん (JP 0H95-o4xC)
2019/11/25(月) 20:03:51.13ID:EmSI22f6H >>355
構造体のポインタを渡すとして、仮引数はどう宣言するよ
構造体のポインタを渡すとして、仮引数はどう宣言するよ
361デフォルトの名無しさん (スッップ Sd33-xphW)
2019/11/25(月) 20:05:24.40ID:Nb9YSlRod363デフォルトの名無しさん (ワッチョイ 6963-+jxl)
2019/11/25(月) 20:24:34.17ID:2eomwteL0 なぜ神への質問を神でないものが回答するのか
神にでもなったつもりか!
神にでもなったつもりか!
364デフォルトの名無しさん (ワッチョイ fb8c-qZD/)
2019/11/25(月) 20:35:27.76ID:NzDv81TY0 ヘッダファイルには何を書きますか?
こめおしだるまとかですか
こめおしだるまとかですか
365デフォルトの名無しさん (ワッチョイ 194f-/L9V)
2019/11/25(月) 21:22:14.50ID:HEHU1BiX0 charは文字だから符号は重要じゃないってのはいいが、ならbyte型用意しておいてくれよと思う。
366デフォルトの名無しさん (ワッチョイ 13f9-QS5Z)
2019/11/25(月) 21:34:03.78ID:Qwn/HBF30 signed charもunsigned charもあるだろ
367デフォルトの名無しさん (スッップ Sd33-/WwJ)
2019/11/25(月) 21:47:48.61ID:FcoOoav6d signed charもunsigned charもcharもあるのが糞
368デフォルトの名無しさん (ワッチョイ 812d-pyDD)
2019/11/25(月) 21:50:36.94ID:wftjKJqc0 char = unsigned char に固定してくれりゃ万事楽だったのに
369デフォルトの名無しさん (ワッチョイ 1901-BEIG)
2019/11/25(月) 21:53:07.11ID:u+UfcqYe0 「8ビットめいっぱい使う奴(国)が面倒おこしてめんどくせぇ」
370デフォルトの名無しさん (ワッチョイ f963-/L9V)
2019/11/25(月) 21:56:46.03ID:72Xydbv80 文字割り当てで最初から8bit全桁使ってしまっていれば良かった
371デフォルトの名無しさん (ワッチョイ 194f-/L9V)
2019/11/25(月) 22:06:54.47ID:HEHU1BiX0 8bit整数はsigned/unsigned charでいいやと思っていたらC++で裏切られた。
372デフォルトの名無しさん (ワッチョイ 1395-QS5Z)
2019/11/25(月) 22:07:47.81ID:y1DwbhRd0 テキハ ホンノウジニ アリ
373デフォルトの名無しさん (ワッチョイ 1901-BEIG)
2019/11/25(月) 22:11:35.20ID:u+UfcqYe0 2バイト(16ビット)もあれば、各国のが収まるだろ? →ダメでした
374デフォルトの名無しさん (ワッチョイ 1379-QS5Z)
2019/11/26(火) 00:36:17.99ID:TKGz3ntv0 なんでstaticにこんなにたくさんの意味をもたせた?
引数のconstが絶望的にわかりにくいんだが何でこんな文法にした?
引数のconstが絶望的にわかりにくいんだが何でこんな文法にした?
375デフォルトの名無しさん (ワッチョイ 13ad-c8oy)
2019/11/26(火) 04:17:51.19ID:q8waUqPK0 これからの時代のcharは64bitで
376デフォルトの名無しさん (スッップ Sd33-xphW)
2019/11/26(火) 07:18:47.84ID:auNO4ARld >>374
const? 何がそんなに?
const? 何がそんなに?
377デフォルトの名無しさん (ワッチョイ 2b7c-/L9V)
2019/11/26(火) 12:44:02.82ID:HcEoAWHl0 >>376
もっとくやしく
もっとくやしく
378デフォルトの名無しさん (スッップ Sd33-/WwJ)
2019/11/26(火) 13:07:39.43ID:njyF587zd const char * *
char * const *
char * * const
たしかに分かりにくい
volatileも
char * const *
char * * const
たしかに分かりにくい
volatileも
379デフォルトの名無しさん (ブーイモ MM33-o4xC)
2019/11/26(火) 13:08:45.16ID:GOgRvMiLM >>377
くそ、何がだよ。constの何がそんなにわかりにくいんだよっ!ちくしょうっ!!
くそ、何がだよ。constの何がそんなにわかりにくいんだよっ!ちくしょうっ!!
380デフォルトの名無しさん (スッップ Sd33-xphW)
2019/11/26(火) 15:05:20.59ID:auNO4ARld なんだ、バカよけってことかよ
つまんね
つまんね
381デフォルトの名無しさん (アウアウウー Sa9d-Pqlv)
2019/11/26(火) 18:23:04.66ID:UD9MC/mBa >>377
キーッ
キーッ
382デフォルトの名無しさん (スッップ Sd33-xphW)
2019/11/26(火) 19:05:11.84ID:auNO4ARld サル?
383デフォルトの名無しさん (アウアウウー Sa9d-Pqlv)
2019/11/26(火) 20:29:20.89ID:UD9MC/mBa もっとはんなりと言ってください
384デフォルトの名無しさん (ワッチョイ 0b12-b/sn)
2019/11/26(火) 21:26:44.95ID:IcZXgcFp0 モンキーですこと
385デフォルトの名無しさん (ワッチョイ 13ad-/L9V)
2019/11/26(火) 22:25:58.87ID:FP/g45Qv0 これからはRISC-V
386デフォルトの名無しさん (ワッチョイ 13ad-c8oy)
2019/11/27(水) 00:28:00.77ID:0YyUhowx0 constどすえ
387デフォルトの名無しさん (ワッチョイ 9202-KPDH)
2019/11/28(木) 01:13:55.51ID:omfIxgsG0 void君いる?
388デフォルトの名無しさん (ワッチョイ b163-1Sqp)
2019/11/28(木) 01:37:02.70ID:XlAtYd3v0 voidならsp使わないという利点があるんだからいるのでは?
389デフォルトの名無しさん (ワッチョイ 0973-4gZL)
2019/11/28(木) 01:38:47.97ID:PoPpbfsh0 spとは?
390デフォルトの名無しさん (ワッチョイ 5e46-Tzvd)
2019/11/28(木) 03:19:24.36ID:saOZYqHd0 ヘ_ヘ
ミ・・ ミ
( )〜
ミ・・ ミ
( )〜
391デフォルトの名無しさん (ワッチョイ 9202-KPDH)
2019/11/28(木) 09:18:13.24ID:omfIxgsG0 void君見てんだろ?
またあの名言聞きたいよ
てかspて何だ?
またあの名言聞きたいよ
てかspて何だ?
392デフォルトの名無しさん (ワッチョイ d963-3RYV)
2019/11/28(木) 09:58:09.40ID:drahqBh90 おじいちゃん、おはよう
393デフォルトの名無しさん (ブーイモ MMb2-ijG8)
2019/11/28(木) 11:52:01.48ID:dwMkkEn2M 何の話しをしているのですか?
394デフォルトの名無しさん (ワントンキン MM62-Tzvd)
2019/11/28(木) 12:29:57.76ID:4okpNGfUM 話しとは?
ヘ_ヘ
ミ・・ ミ
( )〜
ヘ_ヘ
ミ・・ ミ
( )〜
395デフォルトの名無しさん (アウアウウー Sacd-8Irb)
2019/11/28(木) 12:49:27.76ID:pgFu+V4ea はなしししししし
396デフォルトの名無しさん (スッップ Sdb2-4gZL)
2019/11/28(木) 13:08:00.18ID:HUd7Y1FLd void君て何?
397デフォルトの名無しさん (ワッチョイ 1269-o7DB)
2019/11/28(木) 14:14:09.56ID:cHXg4S3V0 fj.comp.lang.c japan.yoso 何年前…
398デフォルトの名無しさん (アウアウウー Sacd-8Irb)
2019/11/28(木) 17:13:55.23ID:pgFu+V4ea (´-`).。oO(今の人は newsgroup なんて知らないんだろうなあ・・・)
399デフォルトの名無しさん (ワッチョイ d963-3RYV)
2019/11/28(木) 17:34:29.53ID:drahqBh90 公園で紙芝居をやってた頃の話だから
400蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 8101-cQuP)
2019/11/28(木) 17:56:05.01ID:7otTe0SQ0 スタックポインタ
401デフォルトの名無しさん (ワッチョイ 0973-4gZL)
2019/11/28(木) 18:13:00.42ID:PoPpbfsh0 voidならスタックポインタを使わない?
意味不明
意味不明
402蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdb2-cQuP)
2019/11/28(木) 18:17:12.36ID:tnSWQjUnd 俺もわからん。
403デフォルトの名無しさん (ワッチョイ 1902-UMS6)
2019/11/28(木) 18:46:29.37ID:+WcD/xQQ0 C++やるで
404デフォルトの名無しさん (ワッチョイ 9295-R3ru)
2019/11/28(木) 18:47:49.35ID:EjjwcG+D0 いってらっしゃいませ
405デフォルトの名無しさん (ワッチョイ 1902-UMS6)
2019/11/28(木) 19:29:09.73ID:+WcD/xQQ0 C++あかんの?
406デフォルトの名無しさん (スッップ Sdb2-OKkK)
2019/11/28(木) 19:42:31.72ID:YpOyjZW5d 何十年経ってもマウント取られたままなやつは
成長する意欲すら根こそぎ取られたただの産廃
唾棄するにも値しない
成長する意欲すら根こそぎ取られたただの産廃
唾棄するにも値しない
407蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 8101-cQuP)
2019/11/28(木) 20:01:16.22ID:7otTe0SQ0 マウント富士、待ったか、産め。
408デフォルトの名無しさん (アウウィフ FFcd-Qbqw)
2019/11/29(金) 10:41:44.97ID:N/f9f1S7F つかき君いるのかな
409デフォルトの名無しさん (スプッッ Sd69-4gZL)
2019/11/29(金) 12:49:35.50ID:gmGtMFq3d ◯◯君が多過ぎて
だれかまとめろ
だれかまとめろ
410デフォルトの名無しさん (ワッチョイ 5ef2-zAiV)
2019/11/29(金) 17:04:48.86ID:F/drosec0 >>407
某ゲームで、ボスバトルまでの待ち時間が結構ありまして、そのちょっと前のタイミングを知るのに
ストップウォッチ兼タイマー ver 0.1 を愛用しております。 自分で作ってもよかったのですが
蟻さんので必要十分だったのでありがたく使わせてもらっています。
ありがとうございました!
某ゲームで、ボスバトルまでの待ち時間が結構ありまして、そのちょっと前のタイミングを知るのに
ストップウォッチ兼タイマー ver 0.1 を愛用しております。 自分で作ってもよかったのですが
蟻さんので必要十分だったのでありがたく使わせてもらっています。
ありがとうございました!
412蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdb2-cQuP)
2019/11/29(金) 19:33:21.96ID:qKvWOrt2d ソースコード見たい?
413蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 8101-Ql8R)
2019/11/29(金) 19:39:20.32ID:l2dO7tMx0414蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 8101-Ql8R)
2019/11/29(金) 19:41:30.08ID:l2dO7tMx0 昔の汚いソースだね。グローバル変数使いまくり。
415デフォルトの名無しさん (ワッチョイ d963-3RYV)
2019/11/29(金) 19:44:15.31ID:w9Gg68xu0 パンツの中見せるの?
416デフォルトの名無しさん (ワッチョイ 0973-4gZL)
2019/11/29(金) 19:58:16.23ID:4DEcYZGM0 inline
が泣けるwww
が泣けるwww
417デフォルトの名無しさん (ワッチョイ d2c5-R3ru)
2019/11/29(金) 20:52:16.59ID:Lw6oDHHK0 >>413
TDM-GCCだとコンパイルできなかった
TDM-GCCだとコンパイルできなかった
418蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdb2-cQuP)
2019/11/29(金) 20:54:12.58ID:qKvWOrt2d >>417
リソースがsjisだからUTF-8にして、コードページにちょっとしたトリックをするとビルドできるよ。
リソースがsjisだからUTF-8にして、コードページにちょっとしたトリックをするとビルドできるよ。
419蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 8101-Ql8R)
2019/11/29(金) 21:40:56.87ID:l2dO7tMx0 改良しました。
420デフォルトの名無しさん (ワッチョイ d2c5-R3ru)
2019/11/29(金) 21:48:18.65ID:Lw6oDHHK0 CMakeになっとるやんけ
421デフォルトの名無しさん (ワッチョイ d2c5-R3ru)
2019/11/29(金) 23:02:39.40ID:Lw6oDHHK0 >>419
蟻人間さんプルリク送っておいたからマージしてね
蟻人間さんプルリク送っておいたからマージしてね
422デフォルトの名無しさん (ワッチョイ d2c5-R3ru)
2019/11/29(金) 23:06:54.55ID:Lw6oDHHK0 プルリク拒否られた・・・
423デフォルトの名無しさん (ササクッテロ Sp79-YC6P)
2019/12/01(日) 19:27:28.70ID:QQlcLgdJp 大学の課題でフーリエ変換を利用した画像保存プログラムを作成せよっていう
課題が出ました…
もうお手上げです。助けてください
課題が出ました…
もうお手上げです。助けてください
>>423
宿題の文章を一文字も間違えずに正確に転載できる技術を持っているのなら
https://mevius.5ch.net/test/read.cgi/tech/1434079972/
で話の続きを聞く準備はあります、その出題自体はどこか変だとは思っていますが
宿題の文章を一文字も間違えずに正確に転載できる技術を持っているのなら
https://mevius.5ch.net/test/read.cgi/tech/1434079972/
で話の続きを聞く準備はあります、その出題自体はどこか変だとは思っていますが
425デフォルトの名無しさん (スップ Sdb2-4gZL)
2019/12/01(日) 19:35:57.20ID:p3Z7Nr0hd >>423
画像の圧縮?
画像の圧縮?
426デフォルトの名無しさん (ササクッテロ Sp79-YC6P)
2019/12/01(日) 19:37:50.36ID:QQlcLgdJp427デフォルトの名無しさん (ワッチョイ 9e12-aYeG)
2019/12/01(日) 19:38:04.98ID:ManO1ilk0 大学名を教えてくれたらヒントくらいは出す
428デフォルトの名無しさん (ワッチョイ a901-f/qG)
2019/12/01(日) 19:53:08.67ID:W5IIwakz0 元の画像に戻ったら成功って事はフーリエ変換と逆変換かな?
フーリエ変換は外部ライブラリ使ってok?
okならOpenCV使えば良いんじゃね?
フーリエ変換は外部ライブラリ使ってok?
okならOpenCV使えば良いんじゃね?
429デフォルトの名無しさん (ワッチョイ 9e2d-UfrM)
2019/12/01(日) 22:21:33.72ID:9XVhluJD0 画像圧縮でフーリエ変換は罠だな、最初からDCT使って提出しようず
430デフォルトの名無しさん (ワッチョイ 922c-Ql8R)
2019/12/01(日) 22:52:36.44ID:UCpH0Yie0 単機能だから、AWS Lambda で出来ないのか?
ライブラリを探すだけだろ
C/C++, PHP は、Lambdaには採用されていないけどw
ライブラリを探すだけだろ
C/C++, PHP は、Lambdaには採用されていないけどw
431デフォルトの名無しさん (スップ Sdb2-4gZL)
2019/12/02(月) 00:41:46.52ID:RIgVO6ZZd >>426
何でも良いなら
1x8に区切って1次元でフーリエ変換して
適当にビット数を減らして保存
読み出してビット数を元にもどして逆フーリエ変換
フーリエ変換は
abcdefghhgfedcba
のようにすると
同じ結果が2個ずつ出るので
半分だけ保存する
何でも良いなら
1x8に区切って1次元でフーリエ変換して
適当にビット数を減らして保存
読み出してビット数を元にもどして逆フーリエ変換
フーリエ変換は
abcdefghhgfedcba
のようにすると
同じ結果が2個ずつ出るので
半分だけ保存する
432デフォルトの名無しさん (スップ Sdb2-4gZL)
2019/12/02(月) 00:42:32.51ID:RIgVO6ZZd さすがに1次元じゃ減点かなあ
433デフォルトの名無しさん (スップ Sdb2-4gZL)
2019/12/02(月) 00:46:10.70ID:RIgVO6ZZd 8x8でやるなら
横でフーリエ変換した結果に対して縦でやればいい
16個のデータにするのは横とおなじ
横でフーリエ変換した結果に対して縦でやればいい
16個のデータにするのは横とおなじ
434デフォルトの名無しさん (スップ Sdb2-4gZL)
2019/12/02(月) 00:48:32.83ID:RIgVO6ZZd フーリエ変換をDCTに変えて
ジグザグスキャンしてハフマン符号化すると
jpgになる
ジグザグスキャンしてハフマン符号化すると
jpgになる
435デフォルトの名無しさん (ラクッペ MM69-iMJF)
2019/12/02(月) 02:45:05.18ID:uImhRr2lM 大学の課題と言うくらいだから画像云々はただの手段で目的はフーリエ変換というかFFTのアルゴリズムを実装できるか
というのが評価基準だと思う
間違って外部ライブラリを使ったり変に出題者の意図を捻じ曲げて解釈したりすれば減点される可能性高いから注意しろよ
というのが評価基準だと思う
間違って外部ライブラリを使ったり変に出題者の意図を捻じ曲げて解釈したりすれば減点される可能性高いから注意しろよ
436デフォルトの名無しさん (ワッチョイ f514-3RYV)
2019/12/02(月) 09:05:35.78ID:cSs5r0tn0 >>435
みんな大学の課題という前提を忘れて実務的実用的な話になってるよね
フーリエ変換と逆変換をプログラムで実装できているかが採点基準であって
画像はバイナリデータがちゃんと元に戻っているか確認する手段にすぎないと思う
みんな大学の課題という前提を忘れて実務的実用的な話になってるよね
フーリエ変換と逆変換をプログラムで実装できているかが採点基準であって
画像はバイナリデータがちゃんと元に戻っているか確認する手段にすぎないと思う
437デフォルトの名無しさん (スプッッ Sd12-4gZL)
2019/12/02(月) 13:14:43.06ID:xJykAg3Zd 圧縮って書いてあるんだからバイナリ一致しなくてもいいのでは?
同じ絵っていうのはパッと見同じってことじゃなくて?
同じ絵っていうのはパッと見同じってことじゃなくて?
438デフォルトの名無しさん (ワッチョイ 6969-o7DB)
2019/12/02(月) 13:29:01.68ID:XPQaDzxS0 可逆圧縮か不可逆圧縮か
439デフォルトの名無しさん (スプッッ Sd12-4gZL)
2019/12/02(月) 13:30:39.72ID:xJykAg3Zd 不可逆でフーリエ変換?
440デフォルトの名無しさん (スプッッ Sd12-4gZL)
2019/12/02(月) 13:30:57.35ID:xJykAg3Zd 逆だ
可逆でフーリエ変換?
可逆でフーリエ変換?
441デフォルトの名無しさん (ワッチョイ 6969-o7DB)
2019/12/02(月) 13:33:14.63ID:XPQaDzxS0 隣接ピクセル間隔より狭い高調波は不要だから有限の離散フーリエ変換でも
実質可逆とみていいんだよね? (符号化による情報落ちを考慮しない話)
実質可逆とみていいんだよね? (符号化による情報落ちを考慮しない話)
442デフォルトの名無しさん (アークセー Sx79-f/qG)
2019/12/02(月) 14:34:46.17ID:1jC9vBnEx フーリエは本来可逆だ。
443デフォルトの名無しさん (スプッッ Sd12-4gZL)
2019/12/02(月) 14:52:09.59ID:xJykAg3Zd 圧縮が目的でフーリエ変換するのに
何も情報を減らさずにそのまま戻してどうする?
何も情報を減らさずにそのまま戻してどうする?
444デフォルトの名無しさん (スプッッ Sd12-4gZL)
2019/12/02(月) 14:53:09.69ID:xJykAg3Zd446デフォルトの名無しさん (ワイーワ2 FF1a-YC6P)
2019/12/02(月) 14:59:03.83ID:9YVAThVAF447デフォルトの名無しさん (エムゾネ FFb2-YC6P)
2019/12/02(月) 15:03:30.60ID:HSnksJTzF448デフォルトの名無しさん (ワッチョイ d963-3RYV)
2019/12/02(月) 15:04:01.88ID:ImcNE8i40 スゴイの出来たら、先に特許申請だな
449デフォルトの名無しさん (ワッチョイ b5da-mphH)
2019/12/02(月) 15:06:19.88ID:R6hiSLip0 講義での学習課題としては非圧縮でないと判定が面倒だな
単にデータを間引いただけなのか演算を間違っているのか確認に手間が掛かる
むしろ完全可逆で実装した方が採点する側としては分かりやすいだろう
出題者の意図はどこにあるか質問者は理解しているのだろうか?
単にデータを間引いただけなのか演算を間違っているのか確認に手間が掛かる
むしろ完全可逆で実装した方が採点する側としては分かりやすいだろう
出題者の意図はどこにあるか質問者は理解しているのだろうか?
450デフォルトの名無しさん (ワッチョイ 12a5-dfs3)
2019/12/02(月) 15:16:11.81ID:az4xQt0G0 なんで理解しなきゃいけねーの
そういう旨なら文章にハッキリ書いてくれねーと困るワケ
お気持ちを察せよ なんてのが罷り通る案件なの?
そういう旨なら文章にハッキリ書いてくれねーと困るワケ
お気持ちを察せよ なんてのが罷り通る案件なの?
451デフォルトの名無しさん (ワッチョイ 12a5-dfs3)
2019/12/02(月) 15:18:11.07ID:az4xQt0G0 「オメーの気持ちなんてしったこっちゃねー
オレに分かるように話せ」
が今の潮流
分からないように反為さないヤツは無視していいし排除していい
なんつったってオレが理解出来ないヤツは何言ってるか分からないコミュニケーション不可能な敵に近いからな
気持ち悪いから排除してもいいし、何よりオレに理解されようと思ってない
だから排除していいでしょ
……という思考で動くのが現代の日本社会
オレに分かるように話せ」
が今の潮流
分からないように反為さないヤツは無視していいし排除していい
なんつったってオレが理解出来ないヤツは何言ってるか分からないコミュニケーション不可能な敵に近いからな
気持ち悪いから排除してもいいし、何よりオレに理解されようと思ってない
だから排除していいでしょ
……という思考で動くのが現代の日本社会
452デフォルトの名無しさん (ワッチョイ b5da-mphH)
2019/12/02(月) 15:21:55.25ID:R6hiSLip0 いやクライアントの意向を無視して好き勝手やっていたら仕事干されるだろ
453デフォルトの名無しさん (ワッチョイ f514-3RYV)
2019/12/02(月) 16:43:27.43ID:cSs5r0tn0 保存とは書かれているが圧縮とはどこにも書かれてない件
454デフォルトの名無しさん (ワッチョイ 697b-GzAZ)
2019/12/02(月) 16:47:13.54ID:wj2s3ic80 てか皆さん「フーリエ変換くらい当然知ってる」って雰囲気なのが凄いわ。
455デフォルトの名無しさん (ワッチョイ 0973-4gZL)
2019/12/02(月) 17:56:06.03ID:kmSxls5X0456デフォルトの名無しさん (ワッチョイ 0973-4gZL)
2019/12/02(月) 18:01:01.74ID:kmSxls5X0 圧縮しないなら
保存でフーリエ変換使う意味がわからんがな
保存でフーリエ変換使う意味がわからんがな
457デフォルトの名無しさん (ワッチョイ b5da-mphH)
2019/12/02(月) 18:04:51.11ID:R6hiSLip0 フーリエ変換そのものは理系の大学卒であれば誰でも知ってる
具体的な数値計算のアルゴリズムを知っているかはその人の専門分野による
具体的な数値計算のアルゴリズムを知っているかはその人の専門分野による
458デフォルトの名無しさん (ワッチョイ 5e7b-t+bP)
2019/12/02(月) 18:35:35.76ID:PAbfC2b00 理系でも生物系なら触りもせん
459デフォルトの名無しさん (ワッチョイ b5da-mphH)
2019/12/02(月) 18:53:16.42ID:R6hiSLip0 専門課程ではなくても一般教養の数学系の講義で学んでると思うけど
460デフォルトの名無しさん (ワッチョイ 5e7b-t+bP)
2019/12/02(月) 19:00:10.22ID:PAbfC2b00 微積と線形代数ぐらいで触らんかったぞ
大学なんか講師次第だからなあ
大学なんか講師次第だからなあ
461デフォルトの名無しさん (ワッチョイ d963-3RYV)
2019/12/02(月) 19:09:01.78ID:ImcNE8i40 文系だと無いと思うな
統計学や代数幾何、微積分
この辺まで
統計学や代数幾何、微積分
この辺まで
462デフォルトの名無しさん (アウアウウー Sacd-f/qG)
2019/12/02(月) 19:11:47.56ID:CL9/qeyha はるか前なので忘れたが、大学ではフーリエ級数って名前だった希ガス
463デフォルトの名無しさん (ワッチョイ 0973-4gZL)
2019/12/02(月) 19:12:24.77ID:kmSxls5X0 理系の大学卒だが
フーリエ変換を大学で習った記憶はないなあ
覚えてないだけかな?
フーリエ変換を大学で習った記憶はないなあ
覚えてないだけかな?
464デフォルトの名無しさん (ワッチョイ b5da-mphH)
2019/12/02(月) 19:40:44.78ID:R6hiSLip0 フーリエ変換はフーリエ級数展開の一般化
フーリエ級数展開の基本周期を無限大まで拡大すると周波数成分は離散から連続となる
要するに周波数成分を連続スペクトルとして扱うのがフーリエ変換
フーリエ級数展開の基本周期を無限大まで拡大すると周波数成分は離散から連続となる
要するに周波数成分を連続スペクトルとして扱うのがフーリエ変換
465デフォルトの名無しさん (ドコグロ MM69-MhVQ)
2019/12/03(火) 19:46:15.44ID:90Sp73uqM 画像のフーリエ変換なんてどうやってやるんだ?って思ってググったら結構面白いな
ちょっと実装してみよう
https://algorithm.joho.info/image-processing/fourier-transform/
ちょっと実装してみよう
https://algorithm.joho.info/image-processing/fourier-transform/
466デフォルトの名無しさん (ワッチョイ 9279-R3ru)
2019/12/03(火) 22:43:48.90ID:nrVtlETj0 数学科院卒だがフーリエ変換には掠りもしてない
工学部の一部しか触ってないだろう
工学部の一部しか触ってないだろう
467デフォルトの名無しさん (ラクッペ MM69-iMJF)
2019/12/04(水) 02:04:25.88ID:k3euaH00M 数学的には解析学の領域
どちらかといえば数学と物理の境界
電気工学や情報工学では必須
https://ja.wikipedia.org/wiki/%E3%83%95%E3%83%BC%E3%83%AA%E3%82%A8%E5%A4%89%E6%8F%9B
どちらかといえば数学と物理の境界
電気工学や情報工学では必須
https://ja.wikipedia.org/wiki/%E3%83%95%E3%83%BC%E3%83%AA%E3%82%A8%E5%A4%89%E6%8F%9B
468デフォルトの名無しさん (ラクッペ MM69-iMJF)
2019/12/04(水) 02:24:25.40ID:k3euaH00M 工学部では厳密な理論よりも応用が重要なので表面的な触りだけで深入りはしない
厳密な議論はやはり数学者の分野だと思う
厳密な議論はやはり数学者の分野だと思う
469デフォルトの名無しさん (ワッチョイ f514-3RYV)
2019/12/04(水) 09:27:46.76ID:bVbh++oq0 画像処理はOpenCVとかで済ましちゃうから細かい数式は気にしない
470デフォルトの名無しさん (ラクッペ MM69-iMJF)
2019/12/04(水) 09:38:25.43ID:ayTFyO7RM それには同意
フーリエ変換の利用にはFFTの概要だけ理解していれば十分
ただ数学の専門家が掠りもしてないというのは如何なものかとは思う
フーリエ変換の利用にはFFTの概要だけ理解していれば十分
ただ数学の専門家が掠りもしてないというのは如何なものかとは思う
471デフォルトの名無しさん (ワッチョイ b5da-mphH)
2019/12/04(水) 10:58:24.04ID:9VaeVeX00 Wikipedia繋がりでFFTのリンク開いてみるとVisualBasicでの実装例が掲載されてるね
https://ja.wikipedia.org/wiki/%E9%AB%98%E9%80%9F%E3%83%95%E3%83%BC%E3%83%AA%E3%82%A8%E5%A4%89%E6%8F%9B
https://ja.wikipedia.org/wiki/%E9%AB%98%E9%80%9F%E3%83%95%E3%83%BC%E3%83%AA%E3%82%A8%E5%A4%89%E6%8F%9B
472デフォルトの名無しさん (スップ Sdb2-4gZL)
2019/12/04(水) 13:12:26.50ID:6uL3pMIBd473デフォルトの名無しさん (スップ Sdb2-4gZL)
2019/12/04(水) 13:15:06.38ID:6uL3pMIBd474デフォルトの名無しさん (スップ Sdb2-4gZL)
2019/12/04(水) 13:17:30.35ID:6uL3pMIBd FFTはアルゴリズムの名前
475デフォルトの名無しさん (ラクッペ MM69-iMJF)
2019/12/04(水) 13:33:37.43ID:ayTFyO7RM ラプラス変換やz変換あたりだと完全に工学分野だけどフーリエ変換くらい汎用なものは数学分野でも活用されてると思うけどね
フーリエ級数はローラン級数などと同じ複素解析の基本的な考え方でしょ
べきに展開するか指数に展開するかの違いくらいのもの
フーリエ級数はローラン級数などと同じ複素解析の基本的な考え方でしょ
べきに展開するか指数に展開するかの違いくらいのもの
476デフォルトの名無しさん (スップ Sdb2-4gZL)
2019/12/04(水) 13:59:41.66ID:6uL3pMIBd477デフォルトの名無しさん (ワッチョイ a291-ByFH)
2019/12/04(水) 14:02:42.65ID:kZk+LcEC0 無理を言ってはいけない
数学者には楽器は作れても名曲を作る事はできない
数学者には楽器は作れても名曲を作る事はできない
478デフォルトの名無しさん (スプッッ Sd12-4gZL)
2019/12/04(水) 15:03:29.21ID:49y1id9ud 名曲を作るのは数学者でも物理学者でも工学博士でもない
発明家や企業だ
発明家や企業だ
479デフォルトの名無しさん (アウアウウー Sacd-8Irb)
2019/12/04(水) 21:02:14.66ID:wHBVaWfta 沖縄音階は適当にランダムに音出しても曲に聞こえちゃうけどな
480デフォルトの名無しさん (アウアウウー Sacd-3/Yl)
2019/12/04(水) 22:00:13.57ID:Ibv81ciOa481デフォルトの名無しさん (ラクッペ MMa1-sSJf)
2019/12/05(木) 00:53:08.83ID:MEu1VAiTM そういった抽象的な感覚を数値化して扱うための手段がフーリエ解析やスペクトル解析と呼ばれる分野
音楽の音階(周波数)やリズム(時系列)を分解して客観的に評価するのが科学的なアプローチ
音楽の音階(周波数)やリズム(時系列)を分解して客観的に評価するのが科学的なアプローチ
482デフォルトの名無しさん (ワッチョイ 4dda-vpIn)
2019/12/05(木) 03:51:45.82ID:6S4oFaeF0 >>481
どちらかといえばウェーブレット解析の方が適しているような気がする
フーリエ変換では周波数特性を求める際に時間領域の情報は失われる
https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7%E3%83%BC%E3%83%96%E3%83%AC%E3%83%83%E3%83%88%E5%A4%89%E6%8F%9B
プログラムで扱うなら離散ウェーブレット変換
https://ja.wikipedia.org/wiki/%E9%9B%A2%E6%95%A3%E3%82%A6%E3%82%A7%E3%83%BC%E3%83%96%E3%83%AC%E3%83%83%E3%83%88%E5%A4%89%E6%8F%9B
どちらかといえばウェーブレット解析の方が適しているような気がする
フーリエ変換では周波数特性を求める際に時間領域の情報は失われる
https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7%E3%83%BC%E3%83%96%E3%83%AC%E3%83%83%E3%83%88%E5%A4%89%E6%8F%9B
プログラムで扱うなら離散ウェーブレット変換
https://ja.wikipedia.org/wiki/%E9%9B%A2%E6%95%A3%E3%82%A6%E3%82%A7%E3%83%BC%E3%83%96%E3%83%AC%E3%83%83%E3%83%88%E5%A4%89%E6%8F%9B
483デフォルトの名無しさん (ラクッペ MMa1-sSJf)
2019/12/05(木) 07:07:45.12ID:MEu1VAiTM 確かにフーリエ解析では周波数成分の変化の時系列データを扱うのは難しい
少し浅はかだったなすまん
それにしても数学者が理論を確立して証明しそれをベースに開発が進むという典型例だな
少し浅はかだったなすまん
それにしても数学者が理論を確立して証明しそれをベースに開発が進むという典型例だな
484デフォルトの名無しさん (アウウィフ FFa9-MVf8)
2019/12/05(木) 11:04:28.35ID:IbmhSLeWF 200年くらいかかってるな
ベイズで100年ちょっとか
ベイズで100年ちょっとか
485デフォルトの名無しさん (アウアウウー Saa9-uArc)
2019/12/05(木) 12:56:44.93ID:esMh+bxMa >>480
さあ?まあ、実際にやってみな。自分でピアノやオルガンのキーを沖縄音階で適当に押すだけでわかる。
さあ?まあ、実際にやってみな。自分でピアノやオルガンのキーを沖縄音階で適当に押すだけでわかる。
486デフォルトの名無しさん (スプッッ Sd03-FAUo)
2019/12/05(木) 13:09:00.01ID:2uRKrxFid 自分で弾いたら曲になるように弾いちゃうからランダムじゃない
本当にランダムで弾いたら曲にならない
本当にランダムで弾いたら曲にならない
487デフォルトの名無しさん (アウウィフ FFa9-MVf8)
2019/12/05(木) 13:51:21.95ID:IbmhSLeWF ム板ならそれらしくランダムに演奏するソフトうp汁
https://www.youtube.com/watch?v=5dsFqZf8owg
https://www.youtube.com/watch?v=5dsFqZf8owg
488デフォルトの名無しさん (スプッッ Sd03-FAUo)
2019/12/05(木) 15:14:54.84ID:2uRKrxFid 糞曲に興味はない
489デフォルトの名無しさん (ワッチョイ 23b9-QX1D)
2019/12/05(木) 23:45:36.26ID:5h4sz8350 質問失礼いたします。
以下のpopcountは引数xを2進数で表したときの1の数を返す関数なのですが、
動作原理がよく理解できないため考え方のヒントなどをいただけないでしょうか。
int popcount(unsigned long long x)
{
x = (x & 0x5555555555555555) + (x >> 1 & 0x5555555555555555);
x = (x & 0x3333333333333333) + (x >> 2 & 0x3333333333333333);
return (int)(((x & 0x0f0f0f0f0f0f0f0f) + (x >> 4 & 0x0f0f0f0f0f0f0f0f)) % 0xff);
}
以下のpopcount2は自分で作ったもので、これならうまくいくことは分かるのですが、
上のpopcountも本質的には同じことをやっていると考えていいものなのでしょうか。
int popcount2(unsigned long long x)
{
int n = 0;
for (int i = 0; i < 64; i++)
{
if ((x & 1ull << i) != 0ull)
{
n++;
}
}
return n;
}
どうぞよろしくお願いいたします。
以下のpopcountは引数xを2進数で表したときの1の数を返す関数なのですが、
動作原理がよく理解できないため考え方のヒントなどをいただけないでしょうか。
int popcount(unsigned long long x)
{
x = (x & 0x5555555555555555) + (x >> 1 & 0x5555555555555555);
x = (x & 0x3333333333333333) + (x >> 2 & 0x3333333333333333);
return (int)(((x & 0x0f0f0f0f0f0f0f0f) + (x >> 4 & 0x0f0f0f0f0f0f0f0f)) % 0xff);
}
以下のpopcount2は自分で作ったもので、これならうまくいくことは分かるのですが、
上のpopcountも本質的には同じことをやっていると考えていいものなのでしょうか。
int popcount2(unsigned long long x)
{
int n = 0;
for (int i = 0; i < 64; i++)
{
if ((x & 1ull << i) != 0ull)
{
n++;
}
}
return n;
}
どうぞよろしくお願いいたします。
490デフォルトの名無しさん (ワッチョイ 25e8-AIHr)
2019/12/05(木) 23:51:53.81ID:rB1NeBwS0 https://ideone.com/8LfIh0
こんにちは。
ちょっと思いついたので、こういうコードを書いたのですが、
普段からreallocを使わないのでこのコードがあっているか解らないのです。
これで大丈夫ですか?
こんにちは。
ちょっと思いついたので、こういうコードを書いたのですが、
普段からreallocを使わないのでこのコードがあっているか解らないのです。
これで大丈夫ですか?
491デフォルトの名無しさん (ワッチョイ 23b9-QX1D)
2019/12/06(金) 00:02:45.40ID:lGRN9wM80 >>490
reallocが成功した場合古いポインタに対してfreeは呼ばなくていいと思いますよ。
reallocの戻り値は古いポインタと異なるものになる保証はないはずなので、
freeを呼んでしまうとせっかくreallocした領域まで解放されてしまうかも。
reallocが成功した場合古いポインタに対してfreeは呼ばなくていいと思いますよ。
reallocの戻り値は古いポインタと異なるものになる保証はないはずなので、
freeを呼んでしまうとせっかくreallocした領域まで解放されてしまうかも。
492デフォルトの名無しさん (ワッチョイ 25e8-AIHr)
2019/12/06(金) 00:04:45.19ID:j6TI2G0x0 >>491
了解です。ありがとうございました。
了解です。ありがとうございました。
493デフォルトの名無しさん (ワッチョイ 23b9-QX1D)
2019/12/06(金) 00:12:50.26ID:lGRN9wM80 >>492
ちゃんとコードを読んだら↓の部分はケアされてましたね。失礼しました。
> reallocの戻り値は古いポインタと異なるものになる保証はないはずなので、
ただ、reallocが成功したらfreeは呼ばなくていいのは間違いないと思います。
ちゃんとコードを読んだら↓の部分はケアされてましたね。失礼しました。
> reallocの戻り値は古いポインタと異なるものになる保証はないはずなので、
ただ、reallocが成功したらfreeは呼ばなくていいのは間違いないと思います。
494デフォルトの名無しさん (ワッチョイ 25e8-AIHr)
2019/12/06(金) 00:50:56.12ID:j6TI2G0x0 >>490 のreallocのコード返り値のポインタが不定を指しているので、使わないでください。
こっちを使ってください。
https://qiita.com/yakitori32/items/98256db666029fb5ebca
こっちを使ってください。
https://qiita.com/yakitori32/items/98256db666029fb5ebca
495デフォルトの名無しさん (ワッチョイ 25e8-AIHr)
2019/12/06(金) 00:55:18.93ID:j6TI2G0x0 >>493
了解です。ありがとうございます。
了解です。ありがとうございます。
496デフォルトの名無しさん (ワッチョイ 1563-FbR7)
2019/12/06(金) 01:07:01.79ID:Rsc9FZ2h0 >>489
超高速ビットカウント
でググって出てくるページでちゃんと解説してくれてる
この手のよく見るやつはちょっとググれば解説見つかる
何を本質と置くかによるけど両者はそもそもアルゴリズムが違うのでその観点からなら違う
どちらのコードも結果は同じでも前者のほうが圧倒的に処理速度が早い
ビット数などが必要になる処理では速度が重要になるケースも多々あるので結果が同じでも後者は使い物にならない場合もある
超高速ビットカウント
でググって出てくるページでちゃんと解説してくれてる
この手のよく見るやつはちょっとググれば解説見つかる
何を本質と置くかによるけど両者はそもそもアルゴリズムが違うのでその観点からなら違う
どちらのコードも結果は同じでも前者のほうが圧倒的に処理速度が早い
ビット数などが必要になる処理では速度が重要になるケースも多々あるので結果が同じでも後者は使い物にならない場合もある
497デフォルトの名無しさん (ワッチョイ 23b9-QX1D)
2019/12/06(金) 01:36:02.35ID:lGRN9wM80 >>496
レスありがとうございます。紹介していただいた記事を読ませていただき、大変勉強になりました。
ただ、>>489 の場合だと「ビットカウントするデータ列がある程度長い場合」には
当てはまらないため記事の前半の内容がアルゴリズムの基本になるとか思うのですが、
私が理解した範囲で記事の内容を参考にして関数を作成しても以下のようにしかできませんでした。
int popcount(unsigned long long x)
{
x = (x & 0x5555555555555555) + (x >> 1 & 0x5555555555555555);
x = (x & 0x3333333333333333) + (x >> 2 & 0x3333333333333333);
x = (x & 0x0f0f0f0f0f0f0f0f) + (x >> 4 & 0x0f0f0f0f0f0f0f0f);
x = (x & 0x00ff00ff00ff00ff) + (x >> 8 & 0x00ff00ff00ff00ff);
x = (x & 0x0000ffff0000ffff) + (x >> 16 & 0x0000ffff0000ffff);
return (int)((x & 0x00000000ffffffff) + (x >> 32 & 0x00000000ffffffff));
}
しかし >>489 の関数はこれを途中で打ち切って % 0xff をくっつけたような形になっており、
やはり完全な理解には至っていない状況です。
もし可能であれば、この部分についてもヒントをいただけると大変嬉しく思います。
たびたび申し訳ありませんが、どうぞよろしくお願いいたします。
レスありがとうございます。紹介していただいた記事を読ませていただき、大変勉強になりました。
ただ、>>489 の場合だと「ビットカウントするデータ列がある程度長い場合」には
当てはまらないため記事の前半の内容がアルゴリズムの基本になるとか思うのですが、
私が理解した範囲で記事の内容を参考にして関数を作成しても以下のようにしかできませんでした。
int popcount(unsigned long long x)
{
x = (x & 0x5555555555555555) + (x >> 1 & 0x5555555555555555);
x = (x & 0x3333333333333333) + (x >> 2 & 0x3333333333333333);
x = (x & 0x0f0f0f0f0f0f0f0f) + (x >> 4 & 0x0f0f0f0f0f0f0f0f);
x = (x & 0x00ff00ff00ff00ff) + (x >> 8 & 0x00ff00ff00ff00ff);
x = (x & 0x0000ffff0000ffff) + (x >> 16 & 0x0000ffff0000ffff);
return (int)((x & 0x00000000ffffffff) + (x >> 32 & 0x00000000ffffffff));
}
しかし >>489 の関数はこれを途中で打ち切って % 0xff をくっつけたような形になっており、
やはり完全な理解には至っていない状況です。
もし可能であれば、この部分についてもヒントをいただけると大変嬉しく思います。
たびたび申し訳ありませんが、どうぞよろしくお願いいたします。
498デフォルトの名無しさん (ラクッペ MMa1-sSJf)
2019/12/06(金) 04:41:11.15ID:hd4ipDIZM >>497
64ビット長のビットカウントの最大値はたかだか64なので8ビット(最大255)で表現できる
一方、64ビットデータの分割統治による畳み込み計算は1回目で2ビット×32組、2回目で4ビット×16組、3回目で8ビット×8組の結果が得られる
ビット数を求めるだけなら3回目の結果が得られた時点で8ビットの最大数(255)で3回目の畳み込み結果の剰余を求めてやればそれぞれの組の重み(ビット数)が計算できる
(64を超えることはないことが明らかなので)
64ビット長のビットカウントの最大値はたかだか64なので8ビット(最大255)で表現できる
一方、64ビットデータの分割統治による畳み込み計算は1回目で2ビット×32組、2回目で4ビット×16組、3回目で8ビット×8組の結果が得られる
ビット数を求めるだけなら3回目の結果が得られた時点で8ビットの最大数(255)で3回目の畳み込み結果の剰余を求めてやればそれぞれの組の重み(ビット数)が計算できる
(64を超えることはないことが明らかなので)
499デフォルトの名無しさん (ラクッペ MMa1-sSJf)
2019/12/06(金) 04:45:05.84ID:hd4ipDIZM 訂正
それぞれの組の重みの総計(ビット数)
それぞれの組の重みの総計(ビット数)
500デフォルトの名無しさん (ワッチョイ 23b9-QX1D)
2019/12/06(金) 05:11:25.02ID:lGRN9wM80 >>498
わかりやすいご説明どうもありがとうございます!ほぼ理解できたと思います。
たとえば十進数の123を十進数文字の最大値9で割った余りは
1+2+3と等しくなりますが、これと同じ原理ということですよね?
ただよくよく考えてみると、そもそも十進数の各桁の合計を9で割った余りが
元の数を9で割った余りと等しくなることについても
お恥ずかしながら豆知識として知っているだけで原理を理解できていませんでした。
ただこれに関してはもはやC言語ではなく算数の問題なので、
その方面の解説サイトをググって勉強しようと思います。
なにはともあれ、回答してくださった皆様方、どうもありがとうございました。
>>495
読みやすい記事を提供してくださっているので、もう少しだけコメントさせてください。
現状だと、MemoryReAllocateを呼び出す側は関数の成否を確認するために
Mem->Memoryを覚えておく必要がありますので、MemoryReAllocateの引数に
参照渡しを使われるならMemoryReAllocateの戻り値はMomeryではなくて
成否を表すboolなどにされてはいかがでしょうか。
また、reallocは第一引数としてNULLを許容しているので
MemoryReAllocateは入力のMem->MemoryがNULLであっても
Mem->ElementSizeが正しい値であれば正常に動作しますが、
その一方でMemoryAllocateは失敗するとElementSizeがゼロの構造体を
返すので少しアンバランスかなと思いました。
あと、MemoryFreeがboolを返すのであれば、freeの前にNULLチェックを入れて
その結果をMemoryFreeの戻り値としてもいいかなと思いました。
(free関数自体はNULLを渡しても何もしないだけで問題は起こりませんが)
以上お目汚し失礼しました
わかりやすいご説明どうもありがとうございます!ほぼ理解できたと思います。
たとえば十進数の123を十進数文字の最大値9で割った余りは
1+2+3と等しくなりますが、これと同じ原理ということですよね?
ただよくよく考えてみると、そもそも十進数の各桁の合計を9で割った余りが
元の数を9で割った余りと等しくなることについても
お恥ずかしながら豆知識として知っているだけで原理を理解できていませんでした。
ただこれに関してはもはやC言語ではなく算数の問題なので、
その方面の解説サイトをググって勉強しようと思います。
なにはともあれ、回答してくださった皆様方、どうもありがとうございました。
>>495
読みやすい記事を提供してくださっているので、もう少しだけコメントさせてください。
現状だと、MemoryReAllocateを呼び出す側は関数の成否を確認するために
Mem->Memoryを覚えておく必要がありますので、MemoryReAllocateの引数に
参照渡しを使われるならMemoryReAllocateの戻り値はMomeryではなくて
成否を表すboolなどにされてはいかがでしょうか。
また、reallocは第一引数としてNULLを許容しているので
MemoryReAllocateは入力のMem->MemoryがNULLであっても
Mem->ElementSizeが正しい値であれば正常に動作しますが、
その一方でMemoryAllocateは失敗するとElementSizeがゼロの構造体を
返すので少しアンバランスかなと思いました。
あと、MemoryFreeがboolを返すのであれば、freeの前にNULLチェックを入れて
その結果をMemoryFreeの戻り値としてもいいかなと思いました。
(free関数自体はNULLを渡しても何もしないだけで問題は起こりませんが)
以上お目汚し失礼しました
501デフォルトの名無しさん (スプッッ Sd03-FAUo)
2019/12/06(金) 05:15:04.10ID:PFBD6caPd 1回進むごとに
2bitずつに区切って、1の数を各2bitに入れる
4bitずつに区切って、1の数を各4bitに入れる
8bitずつに区切って、1の数を各8bitに入れる
...
となるので
>>489だと各バイトの1の合計が、各バイトに入る
各バイトなので256バイトのテーブルを使う方法もある
チープなCPUだとこちらの方が速い
逆にリッチなCPUだと数える命令が最初から備わってたりするしベクタ化も可能
Icelake以降だとAVX512VBMIの命令を使って
超高速に64バイト分カウント出来る
2bitずつに区切って、1の数を各2bitに入れる
4bitずつに区切って、1の数を各4bitに入れる
8bitずつに区切って、1の数を各8bitに入れる
...
となるので
>>489だと各バイトの1の合計が、各バイトに入る
各バイトなので256バイトのテーブルを使う方法もある
チープなCPUだとこちらの方が速い
逆にリッチなCPUだと数える命令が最初から備わってたりするしベクタ化も可能
Icelake以降だとAVX512VBMIの命令を使って
超高速に64バイト分カウント出来る
502デフォルトの名無しさん (スプッッ Sd03-FAUo)
2019/12/06(金) 05:24:05.53ID:PFBD6caPd >>500前半
なんか違う
10進数の各桁に関しては
1000a+100b+10c+d
=999a+99b+9c+a+b+c+d
=9(111a+11b+c)+(a+b+c+d)
これを2進数でやると
9のところが1になるからあまり意味がない
なんか違う
10進数の各桁に関しては
1000a+100b+10c+d
=999a+99b+9c+a+b+c+d
=9(111a+11b+c)+(a+b+c+d)
これを2進数でやると
9のところが1になるからあまり意味がない
503デフォルトの名無しさん (スプッッ Sd03-FAUo)
2019/12/06(金) 05:33:31.46ID:PFBD6caPd 分割統治っていうより
レジスタ内の桁数を使ってSIMD演算してるって感じ
01020304 + 02040608
2桁ずつの4個の足し算になってるでしょ?
レジスタ内の桁数を使ってSIMD演算してるって感じ
01020304 + 02040608
2桁ずつの4個の足し算になってるでしょ?
504デフォルトの名無しさん (スプッッ Sd03-FAUo)
2019/12/06(金) 05:47:57.81ID:PFBD6caPd vpsrld
vpermb
vpermb
vpaddb
AVX512VBMIを使うと
レジスタに値がある状態で
4命令で64バイト分
vpermb
vpermb
vpaddb
AVX512VBMIを使うと
レジスタに値がある状態で
4命令で64バイト分
505デフォルトの名無しさん (ワッチョイ 23b9-QX1D)
2019/12/06(金) 05:56:22.53ID:lGRN9wM80 >>501 >>504
レスありがとうございます。
> 各バイトなので256バイトのテーブルを使う方法もある
確かにある程度のビット幅ごとにテーブルを使って計算する方法は
シンプルですが効果が高そうですね。
> 逆にリッチなCPUだと数える命令が最初から備わってたりするしベクタ化も可能
> 4命令で64バイト分
勉強になります。本当に速さが必要ならCPU自体の理解から始めるべきなんですね。
このあたりのハードウェアの違いは標準ライブラリ関数が吸収してくれると最高なのですがw
>>502
10進数の話の数式どうもありがとうございます!大変勉強になりました。
そうすると、>>489 の popcount の最後にやっているのは
2進数というか0x100進数で、
0x1000000*a+0x10000f*b+0x100*c+d
=0xffffff*a+0xffff*b+0xff*c+a+b+c+d
=0xff*(0x01010x*a+0x0101*b+c)+(a+b+c+d)
ということになると思うのですがいかがでしょうか。
レスありがとうございます。
> 各バイトなので256バイトのテーブルを使う方法もある
確かにある程度のビット幅ごとにテーブルを使って計算する方法は
シンプルですが効果が高そうですね。
> 逆にリッチなCPUだと数える命令が最初から備わってたりするしベクタ化も可能
> 4命令で64バイト分
勉強になります。本当に速さが必要ならCPU自体の理解から始めるべきなんですね。
このあたりのハードウェアの違いは標準ライブラリ関数が吸収してくれると最高なのですがw
>>502
10進数の話の数式どうもありがとうございます!大変勉強になりました。
そうすると、>>489 の popcount の最後にやっているのは
2進数というか0x100進数で、
0x1000000*a+0x10000f*b+0x100*c+d
=0xffffff*a+0xffff*b+0xff*c+a+b+c+d
=0xff*(0x01010x*a+0x0101*b+c)+(a+b+c+d)
ということになると思うのですがいかがでしょうか。
506デフォルトの名無しさん (ワッチョイ 23b9-QX1D)
2019/12/06(金) 05:58:37.54ID:lGRN9wM80 >>505 の数式が変でした。正しくは以下のとおりです。失礼しました。
0x1000000*a+0x10000*b+0x100*c+d
=0xffffff*a+0xffff*b+0xff*c+a+b+c+d
=0xff*(0x010101x*a+0x0101*b+c)+(a+b+c+d)
0x1000000*a+0x10000*b+0x100*c+d
=0xffffff*a+0xffff*b+0xff*c+a+b+c+d
=0xff*(0x010101x*a+0x0101*b+c)+(a+b+c+d)
507デフォルトの名無しさん (スプッッ Sd03-FAUo)
2019/12/06(金) 06:20:08.91ID:PFBD6caPd 最後の % 0xff を見てなかった
なので各バイトの1の個数と勘違いしてました
>>506はその通り
%は、除算命令を使うと遅いので
コンパイラは
0x0101010101010101
との乗算とシフトに置き換えそうです
PCの64bit環境だとPOPCNT命令がそのまま1命令
Icelake以降だとVPOPCNTQで8個を1命令
で出来ます
なので各バイトの1の個数と勘違いしてました
>>506はその通り
%は、除算命令を使うと遅いので
コンパイラは
0x0101010101010101
との乗算とシフトに置き換えそうです
PCの64bit環境だとPOPCNT命令がそのまま1命令
Icelake以降だとVPOPCNTQで8個を1命令
で出来ます
508デフォルトの名無しさん (スプッッ Sd03-FAUo)
2019/12/06(金) 06:24:24.02ID:PFBD6caPd x % 0xff
よりは
x * 0x0101010101010101 >> 56 & 0xff
の方が直接的でコンパイラを頼らない記述でしょう
よりは
x * 0x0101010101010101 >> 56 & 0xff
の方が直接的でコンパイラを頼らない記述でしょう
509デフォルトの名無しさん (ラクッペ MMa1-sSJf)
2019/12/06(金) 06:34:20.70ID:hd4ipDIZM それだと
剰余 x % 0xff
ではなくて
商 x / 0xff
剰余 x % 0xff
ではなくて
商 x / 0xff
510デフォルトの名無しさん (スプッッ Sd03-FAUo)
2019/12/06(金) 06:36:33.62ID:PFBD6caPd >>508 で大丈夫
乗算の筆算を考えてみよう
乗算の筆算を考えてみよう
511デフォルトの名無しさん (ワッチョイ 23b9-QX1D)
2019/12/06(金) 06:37:31.16ID:lGRN9wM80 >>507-508
レスありがとうございます。
> x % 0xff
> よりは
> x * 0x0101010101010101 >> 56 & 0xff
> の方が直接的でコンパイラを頼らない記述でしょう
コンパイラの最適化によって一行目が三行目に
置き換えられる可能性があるということですか!?
難しそうですがちょっと考えてみたいと思います。
> PCの64bit環境だとPOPCNT命令がそのまま1命令
> Icelake以降だとVPOPCNTQで8個を1命令
本当に速度を求めるならCPUの命令を直接使えということですね。
覚えておきます。
レスありがとうございます。
> x % 0xff
> よりは
> x * 0x0101010101010101 >> 56 & 0xff
> の方が直接的でコンパイラを頼らない記述でしょう
コンパイラの最適化によって一行目が三行目に
置き換えられる可能性があるということですか!?
難しそうですがちょっと考えてみたいと思います。
> PCの64bit環境だとPOPCNT命令がそのまま1命令
> Icelake以降だとVPOPCNTQで8個を1命令
本当に速度を求めるならCPUの命令を直接使えということですね。
覚えておきます。
512デフォルトの名無しさん (スプッッ Sd03-FAUo)
2019/12/06(金) 06:42:08.81ID:PFBD6caPd513デフォルトの名無しさん (ワッチョイ 23b9-QX1D)
2019/12/06(金) 06:54:43.75ID:lGRN9wM80 >>512
ありがとうございます。そのようにしたいと思います。
ご親切に甘えてしまい申し訳ないのですが、
もう一つ質問させてください。今、
@ = x % 0xff
と
A = x * 0x0101010101010101 >> 56 & 0xff
について考えていたのですが、
x = 0xff のとき、
@ = 0x00, A = 0xffのように、別の値になりませんか?
これは、どこか書き間違いがあるとういことでしょうか。
それとも、この違いは今回の用途では問題にならないということでしょうか。
ありがとうございます。そのようにしたいと思います。
ご親切に甘えてしまい申し訳ないのですが、
もう一つ質問させてください。今、
@ = x % 0xff
と
A = x * 0x0101010101010101 >> 56 & 0xff
について考えていたのですが、
x = 0xff のとき、
@ = 0x00, A = 0xffのように、別の値になりませんか?
これは、どこか書き間違いがあるとういことでしょうか。
それとも、この違いは今回の用途では問題にならないということでしょうか。
514デフォルトの名無しさん (ワッチョイ 23b9-QX1D)
2019/12/06(金) 06:57:32.55ID:lGRN9wM80515デフォルトの名無しさん (スプッッ Sd03-FAUo)
2019/12/06(金) 06:57:55.91ID:PFBD6caPd 除算命令、
Skylakeで最大90クロックだそうで...
簡単な命令だと1クロックで3〜4個実行出来る事を考えると劇遅ですね
Icelakeだと18クロックなので
改善されてるみたい
Skylakeで最大90クロックだそうで...
簡単な命令だと1クロックで3〜4個実行出来る事を考えると劇遅ですね
Icelakeだと18クロックなので
改善されてるみたい
516デフォルトの名無しさん (ワッチョイ 23b9-QX1D)
2019/12/06(金) 07:06:52.23ID:lGRN9wM80 >>515
> 除算命令、
> Skylakeで最大90クロックだそうで...
なんと!しかも、「最大」という表現が付くんですね。
つまり、ただの数値計算なのに
クロックの数がデータに依存する可能があるということ…?
> 除算命令、
> Skylakeで最大90クロックだそうで...
なんと!しかも、「最大」という表現が付くんですね。
つまり、ただの数値計算なのに
クロックの数がデータに依存する可能があるということ…?
517デフォルトの名無しさん (スプッッ Sd03-FAUo)
2019/12/06(金) 07:12:58.28ID:PFBD6caPd >>516
除算命令の実行時間はデータに依存します
内部的にループしてるようなものなので
SIMDの除算は多分一定
Icelakeももしかしたら一定かもしれません
SIMD乗算も非常に小さな値だと遅い事があったような
除算命令の実行時間はデータに依存します
内部的にループしてるようなものなので
SIMDの除算は多分一定
Icelakeももしかしたら一定かもしれません
SIMD乗算も非常に小さな値だと遅い事があったような
518デフォルトの名無しさん (ワッチョイ 23b9-QX1D)
2019/12/06(金) 07:35:33.29ID:lGRN9wM80519デフォルトの名無しさん (ワッチョイ e573-FAUo)
2019/12/06(金) 07:55:08.53ID:DDupnuWl0 https://ja.m.wikipedia.org/wiki/%E9%9D%9E%E6%AD%A3%E8%A6%8F%E5%8C%96%E6%95%B0
ここの「性能問題」参照
浮動小数点演算の話ですので今回は関係ないです
ここの「性能問題」参照
浮動小数点演算の話ですので今回は関係ないです
520デフォルトの名無しさん (ワッチョイ 4dda-vpIn)
2019/12/06(金) 07:59:35.87ID:/1U5BHO/0 そりゃ並列処理できるような相互依存性の低い大量のデータでもあるならともかく
小さなデータ塊対象だとパック化やアンパック化する手間が掛かる分だけ
総合的にはSIMD使った方が遅くなるだろ
馬鹿となんとかは使いようと言うだろ
小さなデータ塊対象だとパック化やアンパック化する手間が掛かる分だけ
総合的にはSIMD使った方が遅くなるだろ
馬鹿となんとかは使いようと言うだろ
521デフォルトの名無しさん (ワッチョイ e573-FAUo)
2019/12/06(金) 08:10:43.32ID:DDupnuWl0 どこの誤爆か気になる
522デフォルトの名無しさん (スッップ Sd43-FAUo)
2019/12/06(金) 12:19:42.67ID:PPEOwhLkd523デフォルトの名無しさん (ワッチョイ 23b9-QX1D)
2019/12/06(金) 15:17:31.13ID:lGRN9wM80 >>519
勉強になります。
非正規化数という言葉はちらっと聞いたことはありますが、こういうデメリットもあるんですね。
そして、それでも非正規化数を使うのは
「浮動小数点数の加減算は決して『アンダーフローによるゼロ』にならない」
という理由があるのだということも初めて知り、とても興味深く感じました。
ところで、ビット演算に関してもう一つ相談させていただいてもよろしいでしょうか。
動的メモリ再確保のコストを減らすために確保するメモリのサイズを必ず 2ⁿ-1 の形にしたくて、
与えられた数を下回らない最小の 2ⁿ-1 の値の値を返すような関数を作って使っています。
つまり引数xを2進数で表したときの一番上位の1以下をすべて1に置き換えるような関数で、
具体的には以下のように記述しています。
int fill_lower_bits(int x)
{
x |= x >> 1;
x |= x >> 2;
x |= x >> 4;
x |= x >> 8;
x |= x >> 16;
return x;
}
この関数は割と使用頻度が高いので、PCの64bit環境にPOPCNT命令があるように、
もしfill_lower_bitsと似た振る舞いをする命令があれば名前を教えていただけないでしょうか。
(続く)
勉強になります。
非正規化数という言葉はちらっと聞いたことはありますが、こういうデメリットもあるんですね。
そして、それでも非正規化数を使うのは
「浮動小数点数の加減算は決して『アンダーフローによるゼロ』にならない」
という理由があるのだということも初めて知り、とても興味深く感じました。
ところで、ビット演算に関してもう一つ相談させていただいてもよろしいでしょうか。
動的メモリ再確保のコストを減らすために確保するメモリのサイズを必ず 2ⁿ-1 の形にしたくて、
与えられた数を下回らない最小の 2ⁿ-1 の値の値を返すような関数を作って使っています。
つまり引数xを2進数で表したときの一番上位の1以下をすべて1に置き換えるような関数で、
具体的には以下のように記述しています。
int fill_lower_bits(int x)
{
x |= x >> 1;
x |= x >> 2;
x |= x >> 4;
x |= x >> 8;
x |= x >> 16;
return x;
}
この関数は割と使用頻度が高いので、PCの64bit環境にPOPCNT命令があるように、
もしfill_lower_bitsと似た振る舞いをする命令があれば名前を教えていただけないでしょうか。
(続く)
524デフォルトの名無しさん (ワッチョイ 23b9-QX1D)
2019/12/06(金) 15:18:25.28ID:lGRN9wM80 (続き)
また、こちらはあまり使い道は思いつきませんが、
int fill_higher_bits(int x)
{
x |= x << 1;
x |= x << 2;
x |= x << 4;
x |= x << 8;
x |= x << 16;
return x;
}
という関数を考えることもできて、これなら
int fill_higher_bits(int x)
{
return -(x & -x);
}
のように簡単な書き方に変更できます。
fill_lower_bitsについてもこういうテクニックがあればいいなと思っているのですが、
もし何かご存知であれば教えていただけると嬉しいです。
また、こちらはあまり使い道は思いつきませんが、
int fill_higher_bits(int x)
{
x |= x << 1;
x |= x << 2;
x |= x << 4;
x |= x << 8;
x |= x << 16;
return x;
}
という関数を考えることもできて、これなら
int fill_higher_bits(int x)
{
return -(x & -x);
}
のように簡単な書き方に変更できます。
fill_lower_bitsについてもこういうテクニックがあればいいなと思っているのですが、
もし何かご存知であれば教えていただけると嬉しいです。
525デフォルトの名無しさん (スッップ Sd43-FAUo)
2019/12/06(金) 19:09:08.62ID:PPEOwhLkd526デフォルトの名無しさん (ワッチョイ 23b9-QX1D)
2019/12/06(金) 19:33:49.52ID:lGRN9wM80 >>525
何度も本当にどうもありがとうございます。大変勉強になります。
> _BitScanReverse64
こんな命令があったとは!
この名前で検索したら、今まで知らなかった興味深いページがたくさんヒットしました。
ReverseじゃなくてForwardというのもあるみたいですが、
Forwardの方はマイナスを使う方法でも十分高速になりそうなので、
どちらが速いか検証してみようと思います。
> x | -x
確かに…。
ド・モルガンの法則で ~(x & ~x) が ~x & x に書き換えられるのはすぐに分かるのですが、
もしかしてそれと同じことがマイナスでもできるのでしょうか。
-x が ~x + 1 と同じになることは理解しているので、ちょっと考えてみたいと思います。
何度も本当にどうもありがとうございます。大変勉強になります。
> _BitScanReverse64
こんな命令があったとは!
この名前で検索したら、今まで知らなかった興味深いページがたくさんヒットしました。
ReverseじゃなくてForwardというのもあるみたいですが、
Forwardの方はマイナスを使う方法でも十分高速になりそうなので、
どちらが速いか検証してみようと思います。
> x | -x
確かに…。
ド・モルガンの法則で ~(x & ~x) が ~x & x に書き換えられるのはすぐに分かるのですが、
もしかしてそれと同じことがマイナスでもできるのでしょうか。
-x が ~x + 1 と同じになることは理解しているので、ちょっと考えてみたいと思います。
527デフォルトの名無しさん (ワッチョイ 23b9-QX1D)
2019/12/06(金) 19:53:04.32ID:lGRN9wM80528デフォルトの名無しさん (ワッチョイ e573-FAUo)
2019/12/06(金) 20:51:24.53ID:DDupnuWl0 自分で頑張って探すんです
~x
x-1
-x
&
|
^
これらを組み合わせれば
一番右のビット関連がいろいろと出来ます
???10000
に対して
11110000
11100000
00010000
00011111
00001111
これらを得る最小回数の演算を考えてみてください
~x
x-1
-x
&
|
^
これらを組み合わせれば
一番右のビット関連がいろいろと出来ます
???10000
に対して
11110000
11100000
00010000
00011111
00001111
これらを得る最小回数の演算を考えてみてください
529デフォルトの名無しさん (ワッチョイ a501-gDf/)
2019/12/06(金) 21:03:52.43ID:vzfmAUcv0 ド・モルガンと似た問題で、
「君たち2人は注意されないならば、君たち2人は私語を止めない」
の対偶、
「君たち2人が私語を止めるならば、君たち2人は注意される」
って矛盾にちょっと考えてしまったわ。
「君たち2人は注意されないならば、君たち2人は私語を止めない」
の対偶、
「君たち2人が私語を止めるならば、君たち2人は注意される」
って矛盾にちょっと考えてしまったわ。
530デフォルトの名無しさん (ワッチョイ 2339-V35x)
2019/12/06(金) 21:07:30.59ID:BprTHIND0 x 注意される
o 注意された
o 注意された
531デフォルトの名無しさん (ワッチョイ a501-gDf/)
2019/12/06(金) 21:15:00.21ID:vzfmAUcv0 >>530
さすが、その通り。
さすが、その通り。
532デフォルトの名無しさん (ワッチョイ e573-FAUo)
2019/12/06(金) 23:44:25.67ID:DDupnuWl0 >>523
メモリ確保やアクセスの時間に比べれば
サイズ計算の時間は無視出来る
ビット演算の趣味として楽しむ分には良いけど
普通にループでもパフォーマンスは変わらない
パフォーマンスが重要じゃないところ
(つまりほとんどの部分)は
移植性、見やすさ、工数、...
などが優先される
ということは知っておいた方が良いですね
メモリ確保やアクセスの時間に比べれば
サイズ計算の時間は無視出来る
ビット演算の趣味として楽しむ分には良いけど
普通にループでもパフォーマンスは変わらない
パフォーマンスが重要じゃないところ
(つまりほとんどの部分)は
移植性、見やすさ、工数、...
などが優先される
ということは知っておいた方が良いですね
533デフォルトの名無しさん (ワッチョイ 1563-FbR7)
2019/12/06(金) 23:51:44.77ID:Rsc9FZ2h0 分野によってはループや比較による分岐は遅すぎて使えないなんてことままあるよ
534デフォルトの名無しさん (ワッチョイ e573-FAUo)
2019/12/07(土) 00:10:26.85ID:n8phrA6e0 >>523の話
535デフォルトの名無しさん (ラクッペ MMa1-sSJf)
2019/12/07(土) 00:10:27.55ID:4NjUP+TJM それは経験談?
それとも誰かからの受け売り?
それとも誰かからの受け売り?
536デフォルトの名無しさん (ワッチョイ e573-FAUo)
2019/12/07(土) 00:15:02.34ID:n8phrA6e0 動的メモリ再確保
のサイズ計算の話
オーダーnに対して係数の小さなオーダーlog nは無視して良い
って話
のサイズ計算の話
オーダーnに対して係数の小さなオーダーlog nは無視して良い
って話
537デフォルトの名無しさん (ワッチョイ 4dda-vpIn)
2019/12/07(土) 01:14:15.17ID:kGPNKNyL0 ちょっと前にスレで騒がれていたフーリエ変換に関する話題
50年来の信号処理に関する謎が解かれる、逆高速フーリエ変換がついに一般化
https://fabcross.jp/news/2019/20191206_fast-fourier-transform.html
50年来の信号処理に関する謎が解かれる、逆高速フーリエ変換がついに一般化
https://fabcross.jp/news/2019/20191206_fast-fourier-transform.html
538デフォルトの名無しさん (エムゾネ FF43-MVf8)
2019/12/07(土) 19:02:43.91ID:Tn5G8ZSlF 解明って言うんか?これ
539デフォルトの名無しさん (アークセー Sxdf-bz61)
2019/12/14(土) 01:27:42.96ID:TU6i1yGkx C言語というか、WindowsのCですが、
たとえば strcpyの lstrcpyと _tcscpyの違いは何なのでしょうか
前者は WindowsAPI、後者は VC++CRTという説明を見たのですがよくわからないのです
両者とも UNICODE(後者は_UNICODE) の有無で charとwchar_tを切り替えるようですが、どちらをどんな時に使用するのかが分かりません。
たとえば strcpyの lstrcpyと _tcscpyの違いは何なのでしょうか
前者は WindowsAPI、後者は VC++CRTという説明を見たのですがよくわからないのです
両者とも UNICODE(後者は_UNICODE) の有無で charとwchar_tを切り替えるようですが、どちらをどんな時に使用するのかが分かりません。
540デフォルトの名無しさん (ワッチョイ c612-wY8Q)
2019/12/14(土) 10:20:34.10ID:00Pm6Tju0 crtへの依存を減らせる分、常にlstrcpyを使えばいいと思うよ。lstrcpyは不正アクセスしたときに例外投げてくれるみたいだし。
自分なら依存減らす&安全性のためにstrncpyとwcsncpyを選ぶけど
自分なら依存減らす&安全性のためにstrncpyとwcsncpyを選ぶけど
541デフォルトの名無しさん (アークセー Sxdf-bz61)
2019/12/14(土) 23:23:03.56ID:ECY2395Ex >>540
ありがとうございます。
539です。
今後は気をつけようと思いますが、過去に書いたコードは何ともいたし難く…orz
なぜ先に lstrcpyを見つけなかった 2014年のオレ…
でも、内容が古いのかもしれませんが、ある記事によると CRTの依存を断ち切るのも容易ではないようで。。。
ありがとうございます。
539です。
今後は気をつけようと思いますが、過去に書いたコードは何ともいたし難く…orz
なぜ先に lstrcpyを見つけなかった 2014年のオレ…
でも、内容が古いのかもしれませんが、ある記事によると CRTの依存を断ち切るのも容易ではないようで。。。
542デフォルトの名無しさん (ワッチョイ 6261-drM2)
2019/12/15(日) 00:22:25.61ID:ay8KMh7A0 むしろlstrcpyなんて16bit時代から引きずってる過去の遺物なんじゃ?
今はlstrcpyも非推奨、代替のStringCchCopyはWindowsAPIの体だけどkernel32.dll等を呼び出すのではなくstrsafe.h内にコードが書いてある変わり種なのでtchar.h系の_tcscpy_sでよくね?っていう
今はlstrcpyも非推奨、代替のStringCchCopyはWindowsAPIの体だけどkernel32.dll等を呼び出すのではなくstrsafe.h内にコードが書いてある変わり種なのでtchar.h系の_tcscpy_sでよくね?っていう
543デフォルトの名無しさん (ワッチョイ 62ad-xO71)
2019/12/15(日) 00:32:33.51ID:YgrLaWOD0 MSのCは独自色が過ぎる
544デフォルトの名無しさん (ワッチョイ 4209-X5Um)
2019/12/15(日) 09:51:20.97ID:Q+saMC6e0 そうか? 古くからMSCは「高いが安心」というポジションだったが
545デフォルトの名無しさん (ワイーワ2 FFfa-uKDx)
2019/12/15(日) 13:16:36.84ID:o9m7qUoDF546デフォルトの名無しさん (ワッチョイ ef46-2WMb)
2019/12/15(日) 14:57:55.02ID:AP8z1X7d0 何の変哲の無いコードを書いてコンパイラのバグが顕在化するMicrosoftのCが安心とは、茶がヘソを沸かす。
547デフォルトの名無しさん (ワッチョイ e7da-rL1a)
2019/12/15(日) 15:53:29.93ID:Rd0yTkco0 唯一のECMA-372対応コンパイラ
壮大なマッチポンプだが…
壮大なマッチポンプだが…
548デフォルトの名無しさん (ブーイモ MM13-R69Q)
2019/12/15(日) 23:21:27.87ID:z0zgGhJDM そもそもCはUNIXの為に作られた言語だから
UNIX系以外のOSで使うと齟齬が出るよね
UNIX系以外のOSで使うと齟齬が出るよね
549デフォルトの名無しさん (ワッチョイ e202-F3ta)
2019/12/16(月) 09:15:32.91ID:poPvuM4I0 何言ってんだこのバカ
550デフォルトの名無しさん (スッップ Sd02-IG0a)
2019/12/16(月) 09:20:02.47ID:wmZohWX5d せいぜいnとCR LFの齟齬くらいだね
551デフォルトの名無しさん (ワッチョイ e7da-rL1a)
2019/12/16(月) 09:40:49.35ID:0Jl4Gkqp0 それはテキストファイルのコードの違いというだけであって言語の仕様そのものとは直接関係ない
552デフォルトの名無しさん (ワッチョイ 9769-kui+)
2019/12/16(月) 10:23:00.62ID:1+8Fi0A+0 OSを記述しやすく意図されて言語という認識だが
UNIXに絞って特化された部分って何だろう?
UNIXに絞って特化された部分って何だろう?
553デフォルトの名無しさん (ブーイモ MM13-RJaD)
2019/12/16(月) 10:34:38.41ID:WErHXUGxM テキストファイルといえば
歴史上どっかの段階で文字列操作や汎用IO関数を捨て専用のもちっと使いやすい内蔵スクリプト言語に任せ
どうしても処理速度を求めるマは自作、非標準ライブラリで配列イジクール形にしたらよかったのにね
システムコールの頻度とか毎度読み解く指定子とかで標準ライブラリも爆速ってほどじゃないしー
printfのうじゃうじゃ増える非互換指定子とか似た使い分け迷う関数の増殖とかを防げたろうに
歴史上どっかの段階で文字列操作や汎用IO関数を捨て専用のもちっと使いやすい内蔵スクリプト言語に任せ
どうしても処理速度を求めるマは自作、非標準ライブラリで配列イジクール形にしたらよかったのにね
システムコールの頻度とか毎度読み解く指定子とかで標準ライブラリも爆速ってほどじゃないしー
printfのうじゃうじゃ増える非互換指定子とか似た使い分け迷う関数の増殖とかを防げたろうに
554デフォルトの名無しさん (ワッチョイ 0e16-kGA4)
2019/12/16(月) 11:27:10.48ID:LjjtFzBx0 せっかくライブラリとして言語の外に出てるのに、
なんでスクリプト言語なんか内蔵しなきゃいかんの。
なんでスクリプト言語なんか内蔵しなきゃいかんの。
555デフォルトの名無しさん (ドコグロ MM7a-ECc1)
2019/12/16(月) 12:29:48.70ID:3ha1TSe5M >>552
creat()のモード指定が8進数で書ける
creat()のモード指定が8進数で書ける
556デフォルトの名無しさん (ワッチョイ 4b5f-EbeN)
2019/12/16(月) 13:05:02.49ID:ErLMiOjL0 file の lock とかか >>552
557デフォルトの名無しさん (ワッチョイ 367c-xO71)
2019/12/16(月) 13:12:27.77ID:3bH+pT+k0558デフォルトの名無しさん (ワッチョイ 0e16-kGA4)
2019/12/16(月) 13:19:15.38ID:LjjtFzBx0 たしかにunix系以外で8進数って使わないような気もする。
559デフォルトの名無しさん (ブーイモ MM13-0eUy)
2019/12/16(月) 13:21:15.05ID:k2txnuEDM Cは文字列をヌル終端するのが「ほぼ」前提になってるよね。
もしそれ以外の文字列表現を使うつもりだったら、
文字列専用の型を用意していたし、ポインタより配列を重視していたはず。
もしそれ以外の文字列表現を使うつもりだったら、
文字列専用の型を用意していたし、ポインタより配列を重視していたはず。
560デフォルトの名無しさん (ワッチョイ 4b5f-EbeN)
2019/12/16(月) 13:22:41.90ID:ErLMiOjL0 >>557
おまいがOSに特化したとか言い出したんじゃないのか
おまいがOSに特化したとか言い出したんじゃないのか
561デフォルトの名無しさん (ドコグロ MM7a-ECc1)
2019/12/16(月) 13:23:58.45ID:3ha1TSe5M >>557
違う、8進数で書けると言う「言語仕様」の話
違う、8進数で書けると言う「言語仕様」の話
562デフォルトの名無しさん (ワッチョイ 367c-xO71)
2019/12/16(月) 13:30:01.62ID:3bH+pT+k0563デフォルトの名無しさん (ワッチョイ 0e16-kGA4)
2019/12/16(月) 13:32:32.25ID:LjjtFzBx0 >>562
8進数で書くのがchmod互換で直感的なんだべ
8進数で書くのがchmod互換で直感的なんだべ
564デフォルトの名無しさん (ドコグロ MM7a-ECc1)
2019/12/16(月) 14:13:38.79ID:3ha1TSe5M >>562
> 建前としては「ちゃんと定数使え」じゃない?
建前はともかく0777とか0755とかバンバン書かれてるし…
とまで書いてなんだけど、ちょっとググったらどうも8進数はC言語発祥じゃなくてB言語でも使えたみたいw
PDPシリーズは触ったことないからよくわからんけどHPのミニコンは命令コードが3bit単位に区切られて表記されてた
ブートローダーは手入力してて16個並んでるスイッチでアドレスや命令コードをセットするんだけど見ての通り3bit単位に区切ってある
もう記憶があやふやだけどアセンブラとかも8進表記ができたような気がする
http://www.hpmuseum.net/images/2108A-37.jpg
多分PDPも似たような感じだったんじゃないかと思う
なので8進数云々はあまり関係なかったわ、すまん
> 建前としては「ちゃんと定数使え」じゃない?
建前はともかく0777とか0755とかバンバン書かれてるし…
とまで書いてなんだけど、ちょっとググったらどうも8進数はC言語発祥じゃなくてB言語でも使えたみたいw
PDPシリーズは触ったことないからよくわからんけどHPのミニコンは命令コードが3bit単位に区切られて表記されてた
ブートローダーは手入力してて16個並んでるスイッチでアドレスや命令コードをセットするんだけど見ての通り3bit単位に区切ってある
もう記憶があやふやだけどアセンブラとかも8進表記ができたような気がする
http://www.hpmuseum.net/images/2108A-37.jpg
多分PDPも似たような感じだったんじゃないかと思う
なので8進数云々はあまり関係なかったわ、すまん
565デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/16(月) 19:57:33.47ID:xr9KOlE00 お前らも8進数よく使うだろ
0とか
0とか
566デフォルトの名無しさん (ワッチョイ 5701-kui+)
2019/12/16(月) 20:00:10.61ID:RwgS0BCD0 ソースの見栄えを気にして桁そろえに スペース使わずに 0 を補うんですね
567デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/16(月) 20:01:38.57ID:xr9KOlE00 やったことあるヤツいるよな?
いやそうじゃなくて
ただの0
いやそうじゃなくて
ただの0
568蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd02-jJp1)
2019/12/16(月) 20:18:50.99ID:8JsSimFSd 017は頭に0があるから、C/C++では8進数として扱う。ただのゼロもリテラルの分類としては8進数。
569デフォルトの名無しさん (ブーイモ MM13-ScWb)
2019/12/16(月) 20:23:36.65ID:KhG8vsdXM 0リテラルは8進だったのか…
570デフォルトの名無しさん (ブーイモ MM13-ScWb)
2019/12/16(月) 20:31:05.71ID:KhG8vsdXM (6.4.4.1) octal-constant:
0
octal-constant octal-digit
まじか
でも8進だからなんだっていう
0
octal-constant octal-digit
まじか
でも8進だからなんだっていう
571デフォルトの名無しさん (ワッチョイ ef46-9Tqg)
2019/12/16(月) 21:43:34.71ID:G86pu5OQ0 16歳の僕でも酒が飲めるぞ。
飲める飲める飲めるぞ酒が飲めるぞ。
飲める飲める飲めるぞ酒が飲めるぞ。
572デフォルトの名無しさん (ワッチョイ a363-aD55)
2019/12/16(月) 21:43:53.10ID:myVu/Iud0 え?割と有名な話では?
573デフォルトの名無しさん (ワッチョイ 421e-JUn5)
2019/12/16(月) 22:13:01.15ID:AI1GDY0I0 012 月はハロウィンで酒が飲めるぞ
飲める飲める飲めるぞ酒が飲めるぞ
飲める飲める飲めるぞ酒が飲めるぞ
574デフォルトの名無しさん (アークセー Sxdf-bz61)
2019/12/16(月) 22:28:43.33ID:SRFHZZ1hx >>571
それは10進数でしょ
それは10進数でしょ
575デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/16(月) 22:44:38.36ID:xr9KOlE00 いや
14進数とか16進数だろ
14進数とか16進数だろ
576デフォルトの名無しさん (ワッチョイ 0e8c-r0mJ)
2019/12/17(火) 05:16:47.62ID:YPw71Sxa0 8進数いらない
577デフォルトの名無しさん (スッップ Sd02-IG0a)
2019/12/17(火) 07:03:39.66ID:KzMqUd+td Cにも0bと桁区切り欲しい
578デフォルトの名無しさん (ワッチョイ fb73-xO71)
2019/12/17(火) 11:16:49.78ID:C7XZiRB60 512色カラーで使った。
579デフォルトの名無しさん (アウウィフ FF3b-EbeN)
2019/12/17(火) 12:28:51.79ID:rApV4krMF int main()
{
return 0;
}
8進数ですほんとうにありがとうございました
{
return 0;
}
8進数ですほんとうにありがとうございました
580デフォルトの名無しさん (ワッチョイ af1d-3siJ)
2019/12/17(火) 18:33:08.01ID:x9hYOthl0 MinGWとUbuntuはどっちがいいですか?
581デフォルトの名無しさん (ワッチョイ e7da-rL1a)
2019/12/17(火) 19:26:43.19ID:PKHU1E440 何が?
582デフォルトの名無しさん (ワッチョイ 7735-c7hN)
2019/12/17(火) 23:43:40.20ID:FF2dVpsc0 Ubuntu
583デフォルトの名無しさん (ワッチョイ 62ad-xO71)
2019/12/17(火) 23:50:56.66ID:6pfYPcmc0 2進数表記が欲しい
584デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/18(水) 00:13:36.84ID:i+6d3gEf0 16進小数リテラルが欲しい
585デフォルトの名無しさん (ワッチョイ 0663-xO71)
2019/12/18(水) 00:16:26.43ID:AxZUQGgH0 >>584
加減乗除考えただけで頭痛くなりそうだ
加減乗除考えただけで頭痛くなりそうだ
586デフォルトの名無しさん (ワッチョイ 0e16-kGA4)
2019/12/18(水) 00:19:17.60ID:P8XWWN6i0 すんごく欲しいならプリプロセッサでも作ればいいんじゃね?
587デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/18(水) 00:19:24.08ID:i+6d3gEf0 人間が計算する必要は無いんだよ
588デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/18(水) 00:24:30.38ID:i+6d3gEf0589デフォルトの名無しさん (ワッチョイ 0e16-kGA4)
2019/12/18(水) 00:34:01.93ID:P8XWWN6i0 プリプロセッサ作って言語を拡張とか、昔はけっこうあったけどな。
590デフォルトの名無しさん (ワッチョイ 0663-xO71)
2019/12/18(水) 00:36:26.05ID:AxZUQGgH0 昔は結構あったはずのものが、今は残ってないのだろう
591デフォルトの名無しさん (ワッチョイ 0e16-kGA4)
2019/12/18(水) 00:39:48.29ID:P8XWWN6i0 まあそれほど必要がないなら別にいいんじゃね。
IDEしか使わないならそういうことはやりづらいだろうし。
IDEしか使わないならそういうことはやりづらいだろうし。
592デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/18(水) 00:52:36.68ID:i+6d3gEf0 誤差を無くす為の16進小数リテラルなのに
プリプロセッサで10進数に直すの?
プリプロセッサで10進数に直すの?
593デフォルトの名無しさん (ワッチョイ 0e16-kGA4)
2019/12/18(水) 02:20:08.74ID:YAJfAYS50 ビットパターンを直接作って変数のアドレスに放り込むようにできないのかな。
それじゃリテラルじゃなくなっちゃうか。
それじゃリテラルじゃなくなっちゃうか。
594デフォルトの名無しさん (ワッチョイ c3f6-GBjH)
2019/12/18(水) 05:31:30.34ID:GlvGxt8T0595デフォルトの名無しさん (スップ Sd22-IG0a)
2019/12/18(水) 07:36:57.59ID:PEFQbiIGd596デフォルトの名無しさん (ブーイモ MM13-ScWb)
2019/12/18(水) 08:17:07.53ID:4w0y1KxwM >>595
スレタイみような
スレタイみような
597デフォルトの名無しさん (ワイーワ2 FFfa-EbeN)
2019/12/18(水) 11:30:30.49ID:RQBBPl9vF >>593
floatやdoubleとcharのunionにするやつか
floatやdoubleとcharのunionにするやつか
598デフォルトの名無しさん (ワッチョイ 9769-kui+)
2019/12/18(水) 11:37:41.82ID:nuxI9nkU0 float や double のビットパターンが IEEE754 前提でごりごりっと…
599デフォルトの名無しさん (ワッチョイ 97e8-Zk2E)
2019/12/18(水) 18:15:23.76ID:G112g1QU0 C言語に欲しい機能は、関数オーバーライドとユニファイドコールシンタックス。
3つあったけど一個忘れた。
参照もいいな。
そんなアマチュアC++書きです。
3つあったけど一個忘れた。
参照もいいな。
そんなアマチュアC++書きです。
600デフォルトの名無しさん (ワッチョイ 97e8-Zk2E)
2019/12/18(水) 18:16:48.77ID:G112g1QU0 あ、constexprもほしいねぇ。
601デフォルトの名無しさん (ドコグロ MMab-ECc1)
2019/12/18(水) 20:26:19.16ID:CdPazUY7M C++をBetter Cで使えばいいだけじゃね?
602デフォルトの名無しさん (アークセー Sxdf-bz61)
2019/12/18(水) 22:11:10.32ID:xgw20G5ix 僕は inlineをサンタさんにお願いしよう…
>>602
inline と指定すればなにがあろうと inline に固執する執念深いコンパイラはありませんか?
inline と指定すればなにがあろうと inline に固執する執念深いコンパイラはありませんか?
604蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 5f01-jJp1)
2019/12/18(水) 23:13:25.96ID:Zo1XP6560 __inlineは非標準だが、つかえ(以下略)
605デフォルトの名無しさん (ワッチョイ 7773-2Nzf)
2019/12/18(水) 23:24:19.48ID:i+6d3gEf0 inlineを忠実に守ってたら
指数関数的にコードサイズが増える
指数関数的にコードサイズが増える
>>605
それはコンパイラが判断することではなく、人間様が判断することなのでは?気分次第で inline にならない inline 指定なんて何の役にもたたないと思います
それはコンパイラが判断することではなく、人間様が判断することなのでは?気分次第で inline にならない inline 指定なんて何の役にもたたないと思います
607デフォルトの名無しさん (ブーイモ MMbf-knCy)
2019/12/19(木) 00:13:43.37ID:S/u3JoW1M ループ展開して中のinline関数をぶちまけたら・・・
命令の並べ替えで案外コンパクトに成るかもしれんし
指数は言い過ぎだと思うがね
命令の並べ替えで案外コンパクトに成るかもしれんし
指数は言い過ぎだと思うがね
608蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdbf-FGNK)
2019/12/19(木) 00:38:42.38ID:6IXT8mCld それまた非標準の__forceinlineというキーワード使えばインライン化を強制できる。
609デフォルトの名無しさん (ワッチョイ 977b-w6Xz)
2019/12/19(木) 06:50:23.98ID:rFEDNRgX0 >>599 名前空間オヌヌメ。
って言うか、なぜ急に自己紹介なんだろ?
って言うか、なぜ急に自己紹介なんだろ?
610デフォルトの名無しさん (アウアウウー Sa5b-eVP7)
2019/12/19(木) 19:43:05.94ID:0uPukb6za ついうっかり再帰する関数を inline にしてし(ry
611デフォルトの名無しさん (ワッチョイ 9773-x674)
2019/12/19(木) 20:00:28.38ID:L7o4TfDh0 >>607
2箇所でコールする関数がn段ネストで2^n
2箇所でコールする関数がn段ネストで2^n
612デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/19(木) 22:27:18.11ID:gVlfKsHk0 無限ループをインラインで展開
613デフォルトの名無しさん (ワッチョイ 9fad-YiuP)
2019/12/20(金) 01:47:19.47ID:28sCejNS0 無限ループってこわくね?
614デフォルトの名無しさん (ワイーワ2 FFdf-hPjh)
2019/12/20(金) 12:03:42.85ID:Syf6RG7EF615デフォルトの名無しさん (ワッチョイ ff02-65x4)
2019/12/20(金) 12:40:59.27ID:QFt1HgPu0 だって同じことがずーっと続くんだぜ
616デフォルトの名無しさん (アウアウウー Sa5b-eVP7)
2019/12/20(金) 21:46:42.87ID:BqL6wPJ0a 真の無限ループは作れない。
コンピュータは何れ壊れるし停電になったら終わりだからな。
コンピュータは何れ壊れるし停電になったら終わりだからな。
617デフォルトの名無しさん (ワッチョイ b763-CWbB)
2019/12/20(金) 21:52:00.56ID:qHTdS2+z0 真の無限ループを現実的に実行することができない≒無限を観測することはできない
概念としては作れる
概念としては作れる
618デフォルトの名無しさん (ブーイモ MMfb-d8CF)
2019/12/20(金) 22:56:52.61ID:zqOycIcFM 物理屋対数学屋
619デフォルトの名無しさん (ワッチョイ 9773-x674)
2019/12/20(金) 22:59:48.75ID:ZH5ZbPnE0 「真の」
っていう表現がマズい
っていう表現がマズい
620デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/20(金) 23:54:20.86ID:Rn/41Zwx0 10 Print ”A"
20 Goto 10
20 Goto 10
621デフォルトの名無しさん (ワッチョイ f795-r9Jq)
2019/12/21(土) 07:09:12.38ID:JN5BZbCP0 b .
622デフォルトの名無しさん (ワッチョイ 97e8-Rp4x)
2019/12/21(土) 13:38:12.07ID:MR+KFog00 っ ノンボラタイルメモリ。
623デフォルトの名無しさん (ワッチョイ d71d-1ZZR)
2019/12/22(日) 02:30:50.40ID:LaRPFE2v0 goto文は危険なんですか?
624デフォルトの名無しさん (ワッチョイ 571a-prDO)
2019/12/22(日) 02:40:48.07ID:gUOFz5Ze0 あぁ、実に危険な話題だ。
625デフォルトの名無しさん (ワッチョイ 9fad-v8Vi)
2019/12/22(日) 02:44:33.39ID:lBW/6Z3k0 >>617
そう。つまり、心の中にあるのさ。
そう。つまり、心の中にあるのさ。
626デフォルトの名無しさん (ワッチョイ 9fad-prDO)
2019/12/22(日) 02:51:43.79ID:lBW/6Z3k0 goto は技を極めた者だけが使うことが許される。半端な者が手を出せばおかしなことにしかならない。
627デフォルトの名無しさん (ワッチョイ 9f52-1WEo)
2019/12/22(日) 02:56:36.50ID:gKJY07Bh0 >>623
用法用量を守って正しくお使いください。
用法用量を守って正しくお使いください。
628デフォルトの名無しさん (ワッチョイ ffa6-r9Jq)
2019/12/22(日) 07:27:17.21ID:DuLbamX70 gotoのなにがいけないのかを知らない者は
スペルがジーオーティーオーでないgotoを平気で使いながら
頓珍漢な教条主義を得意げにぬかす
スペルがジーオーティーオーでないgotoを平気で使いながら
頓珍漢な教条主義を得意げにぬかす
629デフォルトの名無しさん (ワッチョイ d746-5DI4)
2019/12/22(日) 08:27:39.32ID:OI05XeSt0630デフォルトの名無しさん (ワッチョイ 9f01-fd2f)
2019/12/22(日) 08:31:28.88ID:4GpMlcpo0631デフォルトの名無しさん (ワッチョイ ffa6-r9Jq)
2019/12/22(日) 08:35:46.34ID:DuLbamX70 >>629
ISO/IEC 9899:2018 6.8.6 Jump statements
ISO/IEC 9899:2018 6.8.6 Jump statements
632デフォルトの名無しさん (ワッチョイ d746-5DI4)
2019/12/22(日) 10:21:23.25ID:OI05XeSt0 >>631
goto文以外のジャンプ・ステートメントとハナから書きなされ。
というか、goto文を乱用せずcontinue、break等で代用しなさいという教条だべ。
ジーオーティーオーでないgotoを平気で使うのは教条に反しないので、「ながら」と矛盾を指摘する言い方はおかしい。
goto文以外のジャンプ・ステートメントとハナから書きなされ。
というか、goto文を乱用せずcontinue、break等で代用しなさいという教条だべ。
ジーオーティーオーでないgotoを平気で使うのは教条に反しないので、「ながら」と矛盾を指摘する言い方はおかしい。
633デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/22(日) 10:24:59.48ID:sxycti0t0 悪魔を召喚する呪文
634デフォルトの名無しさん (ワッチョイ 9fc5-+Tiu)
2019/12/22(日) 12:02:27.27ID:assBvK1w0 人生:
if (!就職()) goto 人生;
if (!就職()) goto 人生;
635623 (ワッチョイ d71d-1ZZR)
2019/12/22(日) 14:03:45.29ID:LaRPFE2v0 でも俺スパゲッティは嫌いじゃありません
636デフォルトの名無しさん (スップ Sdbf-FIDi)
2019/12/22(日) 16:32:40.91ID:BbprGibXd >>632
そんなにダイクストラらの主張の論点が何かが分かってないのを誇張して何がしたい?
そんなにダイクストラらの主張の論点が何かが分かってないのを誇張して何がしたい?
637デフォルトの名無しさん (ワッチョイ 97e8-Rp4x)
2019/12/22(日) 16:45:52.25ID:qJChSMJU0 いやー、上方へのジャンプを抑制するだけで結構切れますよ?
638デフォルトの名無しさん (ワッチョイ 97e8-Rp4x)
2019/12/22(日) 16:47:16.93ID:qJChSMJU0 L:
hogehoge();
if(huga)gotoL2;
if(hage)goto L;
L2:
hogehoge();
if(huga)gotoL2;
if(hage)goto L;
L2:
639デフォルトの名無しさん (ワッチョイ 97e8-Rp4x)
2019/12/22(日) 16:48:43.49ID:qJChSMJU0 キーコンビネーション間違えて投稿してしまった。
>>638 のようなコードは完全にスパゲッティなのでやめましょう。
>>638 のようなコードは完全にスパゲッティなのでやめましょう。
640デフォルトの名無しさん (ワッチョイ 97e8-Rp4x)
2019/12/22(日) 16:51:13.34ID:qJChSMJU0 do{
continue;
}while();
while型goto教の教義のコード。
continue;
}while();
while型goto教の教義のコード。
641デフォルトの名無しさん (スップ Sdbf-FIDi)
2019/12/22(日) 16:57:49.51ID:BbprGibXd 制御構造のパターンとして何型のものが望ましくないのか、お前ら本当に聞いたこともないの?
642デフォルトの名無しさん (ワッチョイ 97e8-Rp4x)
2019/12/22(日) 16:59:01.86ID:qJChSMJU0 安易な無限ループで悲惨なオチに出会う人減ってるかいな?
643デフォルトの名無しさん (ワッチョイ bf8c-vyMa)
2019/12/22(日) 20:25:06.85ID:o2lyx4Qb0 局所でGOTOは有りだろう。
644デフォルトの名無しさん (ワッチョイ bf8c-vyMa)
2019/12/22(日) 21:00:22.05ID:o2lyx4Qb0 全部論理式で書けば制御構造なぞ要らない。
645デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/22(日) 21:06:07.06ID:Gm1dEDWR0 アホばっかりと諦めるのはまだ早いと思う
短気を起こさずにもうしばらく待ってみる
短気を起こさずにもうしばらく待ってみる
646デフォルトの名無しさん (ワッチョイ 9fad-prDO)
2019/12/22(日) 23:20:31.02ID:lZWETk/y0647デフォルトの名無しさん (ワッチョイ d71d-1ZZR)
2019/12/23(月) 00:35:00.92ID:5fq76TYI0 bool型の変数をprintf関数内でプレースホルダ%dを使って表示すると、
1や0になってしまうのですが、trueやfalseの形式で表示できないでしょうか?
1や0になってしまうのですが、trueやfalseの形式で表示できないでしょうか?
648蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 5701-upP4)
2019/12/23(月) 00:38:21.07ID:EBKfcFlm0 printf("%s", (b ? "true" : "false"));
649デフォルトの名無しさん (ワッチョイ d7f9-+Tiu)
2019/12/23(月) 00:38:26.58ID:+NV+2UGP0 %sでboolVar ? "true": "false"とでもすればいい
Cにboolはないよ
Cにboolはないよ
650デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 00:45:41.74ID:Losi+wwQ0651デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/23(月) 00:52:11.44ID:hXczb3NL0 C99を (標準の)C と呼んでも差し支えないのだろうか
652デフォルトの名無しさん (ワッチョイ 9f79-+Tiu)
2019/12/23(月) 00:56:54.61ID:+xS4b3+d0 最新の規格が標準だぞ
C99が定められたのは既に20年前
太古の企画と言っても差し支えないレベル
C99が定められたのは既に20年前
太古の企画と言っても差し支えないレベル
653デフォルトの名無しさん (ワッチョイ 9773-x674)
2019/12/23(月) 01:06:18.68ID:z7fGiGkq0 >>652
お前が勝手に決めるな
お前が勝手に決めるな
654647 (ワッチョイ d71d-1ZZR)
2019/12/23(月) 02:34:41.48ID:5fq76TYI0 答えてくれた方ありがとうございました
面倒なんですね
面倒なんですね
655デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 07:25:48.16ID:Losi+wwQ0 >>653
決めているのはISOで
652が勝手に決めているわけではない
現行規格すなわち標準はISO/IEC9899:2018、通称C17だ
https://www.iso.org/standard/74528.html
決めているのはISOで
652が勝手に決めているわけではない
現行規格すなわち標準はISO/IEC9899:2018、通称C17だ
https://www.iso.org/standard/74528.html
656デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 07:26:35.49ID:Losi+wwQ0 旧規格は現行規格の発効をもって廃止となる
657デフォルトの名無しさん (ワッチョイ 9773-x674)
2019/12/23(月) 07:48:32.88ID:z7fGiGkq0 https://ja.m.wikipedia.org/wiki/ANSI_C
ANSI C、ISO C、または標準Cとは、米国規格協会(ANSI) および国際標準化機構(ISO) が発行したC言語の標準の総称である。歴史的にこれらの名前は特に、オリジナルであり、最もサポートされているバージョンであるC89およびC90のことを指す。
ANSI C、ISO C、または標準Cとは、米国規格協会(ANSI) および国際標準化機構(ISO) が発行したC言語の標準の総称である。歴史的にこれらの名前は特に、オリジナルであり、最もサポートされているバージョンであるC89およびC90のことを指す。
C99 later の C++ 非互換部分は、どうでもいいとおもいますね
C++ にあわせて欲しかったのですが、独自色を強めてしまったのは疑問手です
C++ にあわせて欲しかったのですが、独自色を強めてしまったのは疑問手です
659デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 08:11:06.15ID:Losi+wwQ0 現実問題でもC89オンリーのコンパイラはかなり減ってきてるだろうが
Cライクな非標準全開のコンパイラなら今でもあるが
Cライクな非標準全開のコンパイラなら今でもあるが
660デフォルトの名無しさん (ワッチョイ 9773-x674)
2019/12/23(月) 08:18:44.36ID:z7fGiGkq0 普及率を根拠にするなら
>>652を取り消してからにしてもらおうか
>>652を取り消してからにしてもらおうか
661デフォルトの名無しさん (ワッチョイ 977b-w6Xz)
2019/12/23(月) 08:29:28.17ID:hJXMwG4B0 >>647 の質問への直接の答えじゃないけど、
bool(実体は_Bool)型って汎整数拡張の対象だっけ?
拡張されるならprintfの中では引数がbool値だったか整数値だったか、
もう区別がつかないんじゃないか。
区別できなきゃ 0/1 で表示すべきか false/true で表示すべきかも
決められないと思うんだけど。
bool(実体は_Bool)型って汎整数拡張の対象だっけ?
拡張されるならprintfの中では引数がbool値だったか整数値だったか、
もう区別がつかないんじゃないか。
区別できなきゃ 0/1 で表示すべきか false/true で表示すべきかも
決められないと思うんだけど。
662デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 08:32:48.54ID:Losi+wwQ0663661 (ワッチョイ 977b-w6Xz)
2019/12/23(月) 08:40:36.25ID:hJXMwG4B0 可変個引数の整数値が char でも short でも int になるのは
「汎整数拡張」とは違う動作、別の用語だったかも知れん。
言語に詳しい人の指摘をお願いしたい。
「汎整数拡張」とは違う動作、別の用語だったかも知れん。
言語に詳しい人の指摘をお願いしたい。
664デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 08:50:19.46ID:Losi+wwQ0 promotion(拡張)
665デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/23(月) 13:42:09.95ID:hXczb3NL0 https://ja.wikipedia.org/wiki/C99
>GCC、Clang、Intel C++ Compiler 等はC99の新機能の大半をサポートしている。
>ただし、GCCは、ほとんど準拠しているが、規格への100%完全準拠は果たしてい
>ない。GCC 4.x までのデフォルトは C89 に GNU 拡張を加えた -std=gnu89、
>Clang のデフォルトは C99 に GNU 拡張を加えた -std=gnu99 である。GCC 5.0
>から C11 に GNU 拡張を加えた -std=gnu11 がデフォルトになる。
>Microsoft Visual C++ は 2013 から C99 の大半を実装した。ただし、tgmath.h
>や snprintf() などが未実装。
>Open Watcom C compiler は標準のうち最もよく使われている部分を実装している。
>かつては、ドキュメント化されていないコマンドラインスイッチを指定しないと
>有効化されなかった。2010年現在の最新版である 1.9 では -za99 オプションを
>付けることで有効化される旨、明記されている。
>Sun Studioは、サン・マイクロシステムズによればC99を完全にサポートしている。
主なコンパイラは大体対応している様だが、まだ完全ではないみたいだ。
GCCだと独自拡張もあるのでややこしそう。すでにC11に向かっているし。
>GCC、Clang、Intel C++ Compiler 等はC99の新機能の大半をサポートしている。
>ただし、GCCは、ほとんど準拠しているが、規格への100%完全準拠は果たしてい
>ない。GCC 4.x までのデフォルトは C89 に GNU 拡張を加えた -std=gnu89、
>Clang のデフォルトは C99 に GNU 拡張を加えた -std=gnu99 である。GCC 5.0
>から C11 に GNU 拡張を加えた -std=gnu11 がデフォルトになる。
>Microsoft Visual C++ は 2013 から C99 の大半を実装した。ただし、tgmath.h
>や snprintf() などが未実装。
>Open Watcom C compiler は標準のうち最もよく使われている部分を実装している。
>かつては、ドキュメント化されていないコマンドラインスイッチを指定しないと
>有効化されなかった。2010年現在の最新版である 1.9 では -za99 オプションを
>付けることで有効化される旨、明記されている。
>Sun Studioは、サン・マイクロシステムズによればC99を完全にサポートしている。
主なコンパイラは大体対応している様だが、まだ完全ではないみたいだ。
GCCだと独自拡張もあるのでややこしそう。すでにC11に向かっているし。
666デフォルトの名無しさん (スップ Sd3f-x674)
2019/12/23(月) 14:59:43.87ID:rvIcRY54d 今時Cを使うのって
そういうメジャー所じゃなくて
小規模マイコン用の独自コンパイラがメインでは?
そうでもない?
そういうメジャー所じゃなくて
小規模マイコン用の独自コンパイラがメインでは?
そうでもない?
667デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 15:35:31.75ID:Losi+wwQ0 メジャーなところで旗色が悪くなったからって
マイナーなところへ逃げ込む気か
相手すんの馬鹿らしくなるぜ
マイナーなところへ逃げ込む気か
相手すんの馬鹿らしくなるぜ
668デフォルトの名無しさん (ワッチョイ 17da-isjD)
2019/12/23(月) 15:43:24.53ID:c0dHMUCB0 規格を捏ねくりまわして喜んでいるのは言語マニアだけだしな
実際の現場は殆どが独自コンパイラ
実際の現場は殆どが独自コンパイラ
669デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 15:50:57.95ID:Losi+wwQ0 捏ねくりまわすって、工業製品を使って工業製品を産み出すのに
規格票を確認するのは工業人の当たり前の日常だろうがよ
規格票を確認するのは工業人の当たり前の日常だろうがよ
670デフォルトの名無しさん (ワッチョイ 17da-isjD)
2019/12/23(月) 15:54:46.80ID:c0dHMUCB0 頭でっかちの老害
671デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 16:01:57.23ID:Losi+wwQ0 筋の通らんガキの駄々こねそのものだな
672デフォルトの名無しさん (ワッチョイ 17da-isjD)
2019/12/23(月) 16:12:34.32ID:c0dHMUCB0 必要なのは規格よりもコンパイラ製造元のマニュアルだ
規格は実際の動作を保証してはくれない
規格は実際の動作を保証してはくれない
673デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 16:29:00.49ID:Losi+wwQ0 コンパイラのマニュアルも必要だが
規格「よりも」という変なバイアスは無用
「と」だろうが
規格「よりも」という変なバイアスは無用
「と」だろうが
674デフォルトの名無しさん (スップ Sd3f-x674)
2019/12/23(月) 18:06:56.36ID:rvIcRY54d テンプレに入れた方がいいな
特に断りがない限りはC89/C90が前提だって
特に断りがない限りはC89/C90が前提だって
675デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 18:19:44.32ID:Losi+wwQ0 却下
それこそ老害以外の何ものでもない
それこそ老害以外の何ものでもない
676デフォルトの名無しさん (ワッチョイ 9773-x674)
2019/12/23(月) 18:23:01.96ID:z7fGiGkq0 100歩譲ってC99
C17やC20限定の話題は他にスレを立ててそっちでやって
C17やC20限定の話題は他にスレを立ててそっちでやって
677デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/23(月) 18:23:59.39ID:hXczb3NL0 老害でない人たちは、C99スレでも立ててそこに移動で
678デフォルトの名無しさん (ワッチョイ 9769-mhYo)
2019/12/23(月) 18:37:06.44ID:CGp0hW9r0 bool 型があったとしても、
printf の引数(... で受ける) に渡すタイミングで暗黙に数値化しちゃうんじゃないかな?
C++での引数型により別のものが呼ばれる機構は期待できない部分
printf の引数(... で受ける) に渡すタイミングで暗黙に数値化しちゃうんじゃないかな?
C++での引数型により別のものが呼ばれる機構は期待できない部分
>>674
それは名案ですね、正直言って C89=K&R2 で必要かつ十分ですし、C99 になって追加されたことといえば C++ と均整のとれない糞仕様が多くて役に立つものは一つか二つか…
それは名案ですね、正直言って C89=K&R2 で必要かつ十分ですし、C99 になって追加されたことといえば C++ と均整のとれない糞仕様が多くて役に立つものは一つか二つか…
>>663
たしかに規格ISO/IEC9899:1999 のどこにあるか?というと、ちょっとみつからないですね
default argument promotion とはいうみたいですが
これは char, short -> int
float -> double
だったかと
たしかに規格ISO/IEC9899:1999 のどこにあるか?というと、ちょっとみつからないですね
default argument promotion とはいうみたいですが
これは char, short -> int
float -> double
だったかと
682デフォルトの名無しさん (ブーイモ MMfb-gy34)
2019/12/23(月) 21:14:46.40ID:X1aPCWn8M シニア専用C言語スレでも作れば
>>682
ジュニア専用お子ちゃまC言語は他所でおねがいします
ジュニア専用お子ちゃまC言語は他所でおねがいします
684デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 21:33:00.29ID:Losi+wwQ0 gotoの何がいけないか説明できるやつ、ここまでゼロ
685デフォルトの名無しさん (ワッチョイ ff12-gy34)
2019/12/23(月) 21:52:10.47ID:YCEz+SRJ0 年取ると新しいことが覚えられないのは理解するよ。
だからって30年前の規格で縛るとかどんだけおつむ弱いんだよ
だからって30年前の規格で縛るとかどんだけおつむ弱いんだよ
686デフォルトの名無しさん (ワッチョイ 9f01-fd2f)
2019/12/23(月) 21:54:45.06ID:8K/Z1PN30 まだgoto文とか言ってるのか
認知症かよw
認知症かよw
687デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/23(月) 23:05:23.85ID:hXczb3NL0 30年経ってもまだ対応完了しないコンパイラがある件
688デフォルトの名無しさん (ワッチョイ ff12-gy34)
2019/12/23(月) 23:28:22.45ID:YCEz+SRJ0 そらあるだろうさ。だからスレも底辺コンパイラに合わせろとか頭腐ってるんじゃねーの?
689デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/23(月) 23:42:25.45ID:hXczb3NL0 上級国民用のC言語スレを建てて,そちらに移った方が良いのでは?w
690デフォルトの名無しさん (ワッチョイ 9fad-YiuP)
2019/12/24(火) 01:55:10.60ID:DYebt3JD0 >>681
(若さは)重要な要素だ
(若さは)重要な要素だ
>>685
C++ でコンパイルできない C なんて何の役に立つのか疑問だ、といっているのですよ
C++ でコンパイルできない C なんて何の役に立つのか疑問だ、といっているのですよ
>>690
若さ若さとひけらかすな!
若さ若さとひけらかすな!
693デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/24(火) 07:01:44.07ID:Uve8u0PJ0694デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/24(火) 07:03:32.05ID:Uve8u0PJ0 積集合なんかいいとこ取りの逆だ
695デフォルトの名無しさん (ワッチョイ 9773-x674)
2019/12/24(火) 07:04:40.49ID:cUFUrp770 ほんそれ
C++を覚えてさっさとこのスレからいなくなってくれ
ガキんちょは
C++を覚えてさっさとこのスレからいなくなってくれ
ガキんちょは
696デフォルトの名無しさん (ブーイモ MMfb-gy34)
2019/12/24(火) 08:24:53.44ID:DYV/RLXmM >>691
公開ヘッダだけ互換で書いとけばいいだろマヌケ
公開ヘッダだけ互換で書いとけばいいだろマヌケ
697デフォルトの名無しさん (ワッチョイ 9f79-+Tiu)
2019/12/24(火) 13:32:50.89ID:nbxHNYps0 C言語環境には色々と障害が多いが
その最たるものの一つが老害の多さだとこのスレを見てもよく分かる
その最たるものの一つが老害の多さだとこのスレを見てもよく分かる
698デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/24(火) 13:37:43.29ID:Uve8u0PJ0 そもそもC89とC17の違いがそんなに問題になるか?
C89さえ分かっていればC17を差分で憶えるのは大した話じゃない
不勉強なやつが自己弁護のために騒いでるだけだろうが
C89さえ分かっていればC17を差分で憶えるのは大した話じゃない
不勉強なやつが自己弁護のために騒いでるだけだろうが
699デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/24(火) 14:54:32.55ID:4UlhXCkA0 勉強家はC++に移られたらどうか
貴重な人生を無駄にしないで済む
貴重な人生を無駄にしないで済む
700デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/24(火) 16:09:31.88ID:Uve8u0PJ0 もちC++も使ってるよ
C使いが他の言語をやってないという仮定がそもそもおかしいぜ
C使いが他の言語をやってないという仮定がそもそもおかしいぜ
701デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/24(火) 16:17:11.27ID:4UlhXCkA0 勉強家はこのスレに入らないから,さっさと移動したらどうか?
粗大ゴミしかいないスレなんだから,こんな所に居続ける必要ないだろ
お前自身が粗大ゴミだと自覚しているなら仕方がないが
粗大ゴミしかいないスレなんだから,こんな所に居続ける必要ないだろ
お前自身が粗大ゴミだと自覚しているなら仕方がないが
702デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/24(火) 16:30:12.41ID:Uve8u0PJ0 うるせえな
どこのスレに来ようが貴様に口だしされる筋合いはない
どこのスレに来ようが貴様に口だしされる筋合いはない
703デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/24(火) 16:44:50.65ID:4UlhXCkA0 荒らしたいって事?
704デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/24(火) 16:45:57.75ID:Uve8u0PJ0 脈絡ねえこと言ってんなよ
705デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/24(火) 17:10:39.49ID:4UlhXCkA0 特定の話題で話したいなら,そういうスレを見つけるか、無ければ作れば良いんだよ
C言語全般を話題にする既存のスレを荒らす必要がこれっぽっちもない
C言語全般を話題にする既存のスレを荒らす必要がこれっぽっちもない
706デフォルトの名無しさん (ドコグロ MMdf-fd2f)
2019/12/24(火) 17:25:45.59ID:obM24HmuM707デフォルトの名無しさん (ワッチョイ 9f52-1WEo)
2019/12/24(火) 17:30:04.53ID:4c603ABM0 >>705
C言語全般を話題にするスレと言ってる奴がC99は別スレに行けとか言ってたのだから、支離滅裂ダナー
C言語全般を話題にするスレと言ってる奴がC99は別スレに行けとか言ってたのだから、支離滅裂ダナー
708デフォルトの名無しさん (スップ Sd3f-x674)
2019/12/24(火) 17:52:25.07ID:vOfEkls8d C言語は
非常にチープな環境でも動く
低レベルな記述が可能
非常に多くの環境で動作する
コンパイラの作成が容易
ということで未だに多くの場所で使われている
これらのメリットを減らす拡張は不要
これらのメリットが不要な環境ではC言語は不要
C++や、よりリッチな言語を使うべき
非常にチープな環境でも動く
低レベルな記述が可能
非常に多くの環境で動作する
コンパイラの作成が容易
ということで未だに多くの場所で使われている
これらのメリットを減らす拡張は不要
これらのメリットが不要な環境ではC言語は不要
C++や、よりリッチな言語を使うべき
709デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/24(火) 18:11:41.28ID:Uve8u0PJ0 もうゴテゴテつけんなよ、という意見には賛成だ
>>693
>C++コンパイラでC非互換の機能を使わない縛りこそ何の役にも立ちゃしねえ
K&R2 の範囲で書くことができるというのは必須の技能だと思いますよ、それができない、そもそもなにが K&R2 の範囲でなにがそうではないかを知らないようでは馬鹿と謗られてもしかたがない
>C++コンパイラでC非互換の機能を使わない縛りこそ何の役にも立ちゃしねえ
K&R2 の範囲で書くことができるというのは必須の技能だと思いますよ、それができない、そもそもなにが K&R2 の範囲でなにがそうではないかを知らないようでは馬鹿と謗られてもしかたがない
>>696
kwsk
kwsk
>>698
>C89さえ分かっていればC17を差分で憶えるのは大した話じゃない
そのとおり
できる奴にとっては、C99 だろうが C11 だろうが C17 だろうが、どれも大差がなく自由に行き来できるしどうでもいい
しかし、ここで敢えて「C89=K&R2 こそ正義」と煽ってみると、案外「老害死ね」という反応が続出する
そういう点から推察するところでは、このスレに出入りする人間の 50% は K&R2 すらわかっていないレベルではないだろうか、と考えさせられるのですよ
>C89さえ分かっていればC17を差分で憶えるのは大した話じゃない
そのとおり
できる奴にとっては、C99 だろうが C11 だろうが C17 だろうが、どれも大差がなく自由に行き来できるしどうでもいい
しかし、ここで敢えて「C89=K&R2 こそ正義」と煽ってみると、案外「老害死ね」という反応が続出する
そういう点から推察するところでは、このスレに出入りする人間の 50% は K&R2 すらわかっていないレベルではないだろうか、と考えさせられるのですよ
>>708
ライブラリとして、他の言語から直に呼んで貰うことを目指すため、C で書き直してしまうという話もよく聞きます、この手の用途を他の言語で聞いたことがない
ライブラリとして、他の言語から直に呼んで貰うことを目指すため、C で書き直してしまうという話もよく聞きます、この手の用途を他の言語で聞いたことがない
>>692
我々がしているのはヌルポインタの話だ
ただ 0 と書けば済む話のものに誰がタイプ数をつぎ込む?
まして #define NULL (void *)0 と構えて運用するようなものじゃない
マクロ NULL が存在すること自体なにかの間違いなのだ
我々がしているのはヌルポインタの話だ
ただ 0 と書けば済む話のものに誰がタイプ数をつぎ込む?
まして #define NULL (void *)0 と構えて運用するようなものじゃない
マクロ NULL が存在すること自体なにかの間違いなのだ
715デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/24(火) 18:47:31.01ID:Uve8u0PJ0 >>710
K&R2の範囲で書くという具体的な案件を1つでも知っているか?
俺も含め、その案件に携わることになったとして困る者は極めて少数だと思うぜ
50%もいるようには全く思わない
K&R1の案件でさえ、今の若いのでもすぐ慣れるだろうさ
K&R2の範囲で書くという具体的な案件を1つでも知っているか?
俺も含め、その案件に携わることになったとして困る者は極めて少数だと思うぜ
50%もいるようには全く思わない
K&R1の案件でさえ、今の若いのでもすぐ慣れるだろうさ
717蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 5701-upP4)
2019/12/24(火) 18:52:26.57ID:4kM/Vj6H0 >>714
整数とポインタのサイズが違うとき、NULLがないと大変なことになる。
整数とポインタのサイズが違うとき、NULLがないと大変なことになる。
>>717
可変長引数関数に (void *)0 を渡すときだけは (void *)0 は必要ですが、それ以外は 0 と書いてそれがポインタか整数かは文脈で判定できると思っています
可変長引数関数に (void *)0 を渡すときだけは (void *)0 は必要ですが、それ以外は 0 と書いてそれがポインタか整数かは文脈で判定できると思っています
719デフォルトの名無しさん (ワッチョイ 571a-prDO)
2019/12/24(火) 19:09:32.87ID:wOhZrnY70 >>717
ん?可変長引数とか、整数とポインタが曖昧なところでは NULL にもキャスト要るし、
NULL がサイズ違いとか動作上の問題を解決することなんてないのでは?
http://www.kouno.jp/home/c_faq/c5.html#4
ん?可変長引数とか、整数とポインタが曖昧なところでは NULL にもキャスト要るし、
NULL がサイズ違いとか動作上の問題を解決することなんてないのでは?
http://www.kouno.jp/home/c_faq/c5.html#4
720デフォルトの名無しさん (ワッチョイ ff02-65x4)
2019/12/25(水) 05:49:06.65ID:7G8eDwRY0 > ただ 0 と書けば済む話のものに誰がタイプ数をつぎ込む?
というわけで if(x != 0) じゃなくて if(x) だな
というわけで if(x != 0) じゃなくて if(x) だな
721デフォルトの名無しさん (ワッチョイ f773-prDO)
2019/12/25(水) 07:47:40.10ID:z2z2eZOK0 プロジェクトリーダー「数字直接記入禁止!全部#define で置き換えろ!」
大昔そんな事があったと聞いた。
大昔そんな事があったと聞いた。
722デフォルトの名無しさん (ワッチョイ 9773-x674)
2019/12/25(水) 08:01:19.10ID:LrSoTBV60 あった
フラグを一個も立って無いことを示す0もdefine
デバイスの特性を多項式近似した関数も
各係数を全てdefine
縦と横のそれぞれの座標計算、ループで処理にした方が記述が簡単なので2でループしたら
その2もdefine
他にも意味不明のコーディング規約が多数
フラグを一個も立って無いことを示す0もdefine
デバイスの特性を多項式近似した関数も
各係数を全てdefine
縦と横のそれぞれの座標計算、ループで処理にした方が記述が簡単なので2でループしたら
その2もdefine
他にも意味不明のコーディング規約が多数
723デフォルトの名無しさん (アウアウウー Sa5b-YiuP)
2019/12/25(水) 08:32:20.25ID:oGSLd7g6a それもこれもマジックナンバーにコメント書かなかったおまいらが悪いんやで
724デフォルトの名無しさん (ワッチョイ 9f52-1WEo)
2019/12/25(水) 08:34:25.12ID:mNtkopg10 マジックナンバーの何がいけない、どういう場合にどんな問題があるかを理解しないまま、杓子定規にルールだけ覚えるとそんな奴が出来上がるな。
725デフォルトの名無しさん (ワンミングク MM7f-XIG2)
2019/12/25(水) 08:51:06.27ID:gNbuW8hwM726デフォルトの名無しさん (ワッチョイ 7f7c-prDO)
2019/12/25(水) 09:53:45.40ID:WMMCG2Dq0 値まで書いたアホっぽい定数 はわりと使うかな・・・
#define EGGCOUNT30 30
みたいに書いちゃうやつ
コード中に即値書きたいけど書くとリファクタリングで死ぬから
リファクタリングのためだけに定数書いてる感じ
#define EGGCOUNT30 30
みたいに書いちゃうやつ
コード中に即値書きたいけど書くとリファクタリングで死ぬから
リファクタリングのためだけに定数書いてる感じ
727デフォルトの名無しさん (アウウィフ FF5b-hPjh)
2019/12/25(水) 10:17:23.56ID:2ymVLaRcF 当たり前だがリファクタリング以前に定数調整だけで死ぬぞ
#define EGGCOUNT 30
なら
#define EGGCOUNT 40
で済むのに
#define EGGCOUNT30 30
だと
#define EGGCOUNT40 40
で全置換する気か
#define EGGCOUNT 30
なら
#define EGGCOUNT 40
で済むのに
#define EGGCOUNT30 30
だと
#define EGGCOUNT40 40
で全置換する気か
728デフォルトの名無しさん (ワンミングク MM7f-XIG2)
2019/12/25(水) 10:24:47.96ID:gNbuW8hwM s/30/40/g
は基地外沙汰だが
s/EGGCOUNT30/EGGCOUNT40/g
ならイケそうかも!!
は基地外沙汰だが
s/EGGCOUNT30/EGGCOUNT40/g
ならイケそうかも!!
729デフォルトの名無しさん (ワッチョイ 9769-mhYo)
2019/12/25(水) 13:00:30.03ID:KFffpDzg0 フォーマット文字列中のも駄目なんかな
少数以下 3桁に整えるのに "%.3f" → "%.*f" にして引数で渡す
少数以下 3桁に整えるのに "%.3f" → "%.*f" にして引数で渡す
730デフォルトの名無しさん (ワッチョイ 9769-mhYo)
2019/12/25(水) 13:08:29.51ID:KFffpDzg0 ああ フォーマット文字列を define しろということか
#define FORMAT "%.3f"
:
sprintf(buf, FROMAT, double_value);
みたいな
#define FORMAT "%.3f"
:
sprintf(buf, FROMAT, double_value);
みたいな
731デフォルトの名無しさん (スッップ Sdbf-x674)
2019/12/25(水) 13:12:39.59ID:wMqEADXhd732デフォルトの名無しさん (スッップ Sdbf-x674)
2019/12/25(水) 13:18:43.41ID:wMqEADXhd733デフォルトの名無しさん (ワッチョイ 7f7c-prDO)
2019/12/25(水) 13:45:41.90ID:WMMCG2Dq0734デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/25(水) 13:50:36.68ID:V0IDAf7x0 エディタの正規表現は使わないのか?
複数パターンでも一回で出来ると思うが
複数パターンでも一回で出来ると思うが
735デフォルトの名無しさん (ワッチョイ 9f2c-1ZZR)
2019/12/25(水) 14:28:39.98ID:ZI663GBY0736デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/25(水) 14:58:33.15ID:HhfzRslS0 x != 0 も bool ではないんだが
737735 (ワッチョイ 9f2c-1ZZR)
2019/12/25(水) 15:17:44.07ID:ZI663GBY0 x != 0
は、yes/no の2値しかないでしょ?
実質的には、bool 値として使っている
は、yes/no の2値しかないでしょ?
実質的には、bool 値として使っている
738デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/25(水) 15:25:44.58ID:HhfzRslS0 それはおまえの思い込み
ISO/IEC 9899:2011
6.5.9 Equality operators
3
Each of the operators yields 1 if the specified relation is true and 0 if it is false.
The result has type int.
これが事実だ
ISO/IEC 9899:2011
6.5.9 Equality operators
3
Each of the operators yields 1 if the specified relation is true and 0 if it is false.
The result has type int.
これが事実だ
739デフォルトの名無しさん (ワッチョイ bf8c-vyMa)
2019/12/25(水) 16:13:24.55ID:xjd+p9Q20 直接コードを書くことを禁止する。スクリプトを使って書け。
740デフォルトの名無しさん (スッップ Sdbf-x674)
2019/12/25(水) 16:42:27.57ID:wMqEADXhd BOOL
YESNO
OKCANCEL
ONEBIT
実質的にboolなら中身はdoubleでもenumでもint64_tでもifに入れて良い
っていうコーディング規約
YESNO
OKCANCEL
ONEBIT
実質的にboolなら中身はdoubleでもenumでもint64_tでもifに入れて良い
っていうコーディング規約
741735 (ワッチョイ 9f2c-1ZZR)
2019/12/25(水) 16:42:38.50ID:ZI663GBY0 文法は関係ない。
あくまでも、コードの品質・可読性を上げるための、MISRA-C のルール!
if, while などの条件式には、実質的なbool 値しか書けない
条件式に、単なる整数などを書けない。
整数の0 を偽とみなした、条件判断を書けない
MISRA-Cを守っていないと、低品質で、審査に通りませんよと言うことw
あくまでも、コードの品質・可読性を上げるための、MISRA-C のルール!
if, while などの条件式には、実質的なbool 値しか書けない
条件式に、単なる整数などを書けない。
整数の0 を偽とみなした、条件判断を書けない
MISRA-Cを守っていないと、低品質で、審査に通りませんよと言うことw
742デフォルトの名無しさん (アウアウウー Sa5b-1WEo)
2019/12/25(水) 17:03:05.94ID:TfD43SqCa >>741
よそのスレでRuby基地外っぷりを発揮してさんざん迷惑を掛けているお前がルール遵守を説くなんて、羞恥心はないのか?
よそのスレでRuby基地外っぷりを発揮してさんざん迷惑を掛けているお前がルール遵守を説くなんて、羞恥心はないのか?
743デフォルトの名無しさん (ワッチョイ 9769-mhYo)
2019/12/25(水) 17:09:20.32ID:KFffpDzg0 if (x) → if (!!x) かにゃ?
744デフォルトの名無しさん (アウウィフ FF5b-hPjh)
2019/12/25(水) 18:22:33.85ID:2ymVLaRcF >>735
if(!!x)
if(!!x)
745デフォルトの名無しさん (ワッチョイ 9773-x674)
2019/12/25(水) 19:13:54.17ID:LrSoTBV60 >>741
また MISRA ですか…
MISRA 適合かどうかを診断してくれるプログラムでも配布してくれているんだと思っていましたが、そうではなく、ただ人を縛る規則を決めるのが好きな人間の集団なんですね…
また MISRA ですか…
MISRA 適合かどうかを診断してくれるプログラムでも配布してくれているんだと思っていましたが、そうではなく、ただ人を縛る規則を決めるのが好きな人間の集団なんですね…
747デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/25(水) 21:01:12.18ID:HhfzRslS0 > MISRA-Cを守っていないと、低品質で、審査に通りませんよと言うことw
MISRA-Cを守っていれば、高品質で、審査に通ると言いたいのか?
もう罵倒語が喉まで出かかっているんだが
MISRA-Cを守っていれば、高品質で、審査に通ると言いたいのか?
もう罵倒語が喉まで出かかっているんだが
748デフォルトの名無しさん (ワッチョイ 9fa5-/xyN)
2019/12/25(水) 22:01:38.68ID:R5R0tFog0 違うナァ
MISRA語ルールを守っているとMISRA語のコンパイラが書けないんだよw
大いなる自己矛盾に陥ってMISRAは沈没する
MISRA語ルールを守っているとMISRA語のコンパイラが書けないんだよw
大いなる自己矛盾に陥ってMISRAは沈没する
749デフォルトの名無しさん (ワッチョイ 974f-prDO)
2019/12/25(水) 22:15:36.92ID:rtgRmFxx0 >>726みたいなのはいくつか特定の値しかとれない引数のために使われることはあるね。
まぁenumでもいいんだけど。
まぁenumでもいいんだけど。
750デフォルトの名無しさん (ワッチョイ 9f01-fd2f)
2019/12/25(水) 22:31:21.33ID:W4j7C6dU0 >>747
>> MISRA-Cを守っていないと、低品質で、審査に通りませんよと言うことw
これを読んで
> MISRA-Cを守っていれば、高品質で、審査に通ると言いたいのか?
と解釈する奴はもれなくバカ
>> MISRA-Cを守っていないと、低品質で、審査に通りませんよと言うことw
これを読んで
> MISRA-Cを守っていれば、高品質で、審査に通ると言いたいのか?
と解釈する奴はもれなくバカ
751デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/25(水) 22:35:19.52ID:HhfzRslS0752デフォルトの名無しさん (ワッチョイ 9f01-fd2f)
2019/12/25(水) 22:55:02.25ID:W4j7C6dU0753デフォルトの名無しさん (ワッチョイ ff02-65x4)
2019/12/25(水) 23:19:28.12ID:7G8eDwRY0 0(ゼロ)はマジックナンバーじゃないような気が
754デフォルトの名無しさん (ワッチョイ 9773-x674)
2019/12/25(水) 23:20:28.23ID:LrSoTBV60 8進数は使用禁止なので0は使えません
755デフォルトの名無しさん (ワッチョイ 1a63-K0SF)
2019/12/26(木) 00:09:17.82ID:AoPKrYsL0 0x0と書けばいい
756デフォルトの名無しさん (ワッチョイ 5e1d-fJ/L)
2019/12/26(木) 01:10:46.52ID:SdIj1xpo0 main関数の{ }についてお聞きしたいんですが、
int main(void) {
____/* コード */
}
という表記ではいけないですか?
スッキリCや各種サイトを見ると、
int main(void)
{
____/* コード */
}
となっていることがほとんどなのですが
int main(void) {
____/* コード */
}
という表記ではいけないですか?
スッキリCや各種サイトを見ると、
int main(void)
{
____/* コード */
}
となっていることがほとんどなのですが
757デフォルトの名無しさん (ワッチョイ 1c79-RbSw)
2019/12/26(木) 01:13:45.64ID:1Soz4RTf0 間を取って
int main(void) { /* コード */ }
でも動くぞ
int main(void) { /* コード */ }
でも動くぞ
758デフォルトの名無しさん (ワッチョイ 98ad-7JW6)
2019/12/26(木) 01:16:16.88ID:wuBFmrIL0 >>756
コンパイラは改行を無視するんやで
コンパイラは改行を無視するんやで
759756 (ワッチョイ 5e1d-fJ/L)
2019/12/26(木) 01:20:09.70ID:SdIj1xpo0 ありがとうございます。
後者にしないといけないという決まりとかあるんですか?
後者にしないといけないという決まりとかあるんですか?
760デフォルトの名無しさん (ブーイモ MM98-La8A)
2019/12/26(木) 01:22:32.15ID:B3/URd3+M 文法じゃなくてコーディングスタイルのこと聞いてるんでしょ。
チーム内で決まったスタイルがあるならそれに従えばいいし、
そうでなければ自分の好みで決めればいい。
俺の好みは1行減るし統一感のある前者。
チーム内で決まったスタイルがあるならそれに従えばいいし、
そうでなければ自分の好みで決めればいい。
俺の好みは1行減るし統一感のある前者。
761デフォルトの名無しさん (ワッチョイ 0073-Rqzo)
2019/12/26(木) 01:23:11.55ID:rIhsLdYp0 私も前者
762デフォルトの名無しさん (ワッチョイ 9602-Bzg6)
2019/12/26(木) 01:28:27.58ID:ekrCE4yL0 K&R2は後者
763756 (ワッチョイ 5e1d-fJ/L)
2019/12/26(木) 01:40:40.30ID:SdIj1xpo0 もう少し考えてみようと思います
深夜にありがとうございました
深夜にありがとうございました
764デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/26(木) 07:31:20.36ID:RfJEL4eB0765デフォルトの名無しさん (ドコグロ MM46-Nxir)
2019/12/26(木) 07:33:50.37ID:Fsuom43iM766デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/26(木) 07:36:01.30ID:RfJEL4eB0767デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/26(木) 07:49:13.97ID:RfJEL4eB0768デフォルトの名無しさん (ワッチョイ 2f7b-keN1)
2019/12/26(木) 08:06:43.81ID:GqOej4nw0 >>756
int func(int arg)
{
...
}
という具合に「関数本体を開始する波括弧を次の行に書く」方式だと
ヘッダファイルにプロトタイプ宣言として書き写す際に
1行コピーして行末に ; 追加で完了、楽チンという利点があるわね。
main() の場合は当てはまらないのがやや弱いけど。
int func(int arg)
{
...
}
という具合に「関数本体を開始する波括弧を次の行に書く」方式だと
ヘッダファイルにプロトタイプ宣言として書き写す際に
1行コピーして行末に ; 追加で完了、楽チンという利点があるわね。
main() の場合は当てはまらないのがやや弱いけど。
769デフォルトの名無しさん (ドコグロ MM46-Nxir)
2019/12/26(木) 08:18:02.10ID:Fsuom43iM770デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/26(木) 08:31:13.53ID:RfJEL4eB0771デフォルトの名無しさん (ドコグロ MM46-Nxir)
2019/12/26(木) 08:47:26.74ID:Fsuom43iM772デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/26(木) 10:44:30.71ID:RfJEL4eB0773デフォルトの名無しさん (ワッチョイ 6c88-hRE6)
2019/12/26(木) 11:06:55.96ID:F8ujXl8x0 こんなところで年収自慢なんかしても虚しいだけじゃないか?
対偶を勘違いしてるなんてみんな気付いてるのに無理につっかかんなって
対偶を勘違いしてるなんてみんな気付いてるのに無理につっかかんなって
774デフォルトの名無しさん (ワッチョイ 9602-Bzg6)
2019/12/26(木) 11:13:36.42ID:ekrCE4yL0775デフォルトの名無しさん (ワッチョイ 9602-Bzg6)
2019/12/26(木) 11:15:24.50ID:ekrCE4yL0 MISRAで if(x)がまずい理由を教えてくだされ
776デフォルトの名無しさん (ワイーワ2 FF7a-v1fK)
2019/12/26(木) 11:17:42.33ID:qmNoWNu8F >>731
一般的に特定の非正規形は特定の分析用途には使いやすくても
違う観点で分析しようとすると正規形からデータ変形するよりも多くの手間がかかる
参照オンリーの場合でもデータの利用方法が定型化していない場合は正規形から考えるメリットは大きい
特にRDBで分析用途のDBを用意する場合は参照オンリーでも正規形から考えとかないと手間が異常に増える
一般的に特定の非正規形は特定の分析用途には使いやすくても
違う観点で分析しようとすると正規形からデータ変形するよりも多くの手間がかかる
参照オンリーの場合でもデータの利用方法が定型化していない場合は正規形から考えるメリットは大きい
特にRDBで分析用途のDBを用意する場合は参照オンリーでも正規形から考えとかないと手間が異常に増える
777デフォルトの名無しさん (ワイーワ2 FF7a-v1fK)
2019/12/26(木) 11:21:50.00ID:qmNoWNu8F778デフォルトの名無しさん (ワッチョイ 6c88-hRE6)
2019/12/26(木) 11:31:06.38ID:F8ujXl8x0 元の命題の真偽ではなく元の命題を真と仮定した場合、対偶は真か?という話
本来、対偶は真であるが747は対偶ではない命題を挙げてそれが真であるかのようにレスしているので突っ込まれた
対偶の挙げ方の間違いを指摘したのになぜか元の命題の真偽についてギャーギャー言うから話が噛み合わない
本来、対偶は真であるが747は対偶ではない命題を挙げてそれが真であるかのようにレスしているので突っ込まれた
対偶の挙げ方の間違いを指摘したのになぜか元の命題の真偽についてギャーギャー言うから話が噛み合わない
779デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/26(木) 11:36:01.57ID:RfJEL4eB0780デフォルトの名無しさん (ドコグロ MM46-Nxir)
2019/12/26(木) 12:24:56.24ID:Fsuom43iM いきなり年収自慢とか笑える
まあ低能にありがちな行動だけどなw
まあ低能にありがちな行動だけどなw
781デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/26(木) 12:27:00.84ID:RfJEL4eB0 中卒でも中には総理大臣になった人もいるけどね
そういうことにしといてやろうか?
そういうことにしといてやろうか?
782デフォルトの名無しさん (ワッチョイ 79da-DGYe)
2019/12/26(木) 12:48:48.88ID:nqqh6plV0 そもそも集合関係と因果関係を混同しているのが間違いの原因
「事象Aが真ならば事象Bは真」の対偶「事象Bが真でないならば事象Aは真ではない」は常に正しい
一方「原因Aが真ならば結果Bは真」に対して「結果Bが真でないならば原因Aは真ではない」は正しいとは限らない
「事象Aが真ならば事象Bは真」の対偶「事象Bが真でないならば事象Aは真ではない」は常に正しい
一方「原因Aが真ならば結果Bは真」に対して「結果Bが真でないならば原因Aは真ではない」は正しいとは限らない
783デフォルトの名無しさん (JP 0H99-La8A)
2019/12/26(木) 13:05:49.36ID:mq/d+l+IH784デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/26(木) 13:06:48.52ID:RfJEL4eB0 >>782
おまえ747の時点で俺がそう言っているのが読めてないもんな
そうやって教科書を朗読するのもいいことだから頑張んなw
お勉強はまず憶えることが初手だが
現実問題に応用できるようになって始めて完成するんだよ
おまえ747の時点で俺がそう言っているのが読めてないもんな
そうやって教科書を朗読するのもいいことだから頑張んなw
お勉強はまず憶えることが初手だが
現実問題に応用できるようになって始めて完成するんだよ
785デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/26(木) 13:08:29.47ID:RfJEL4eB0 >>783
774は制御文と関数は違うということが766の言う「矛盾」のルーツだと言いたいんだと思うぜ
774は制御文と関数は違うということが766の言う「矛盾」のルーツだと言いたいんだと思うぜ
786デフォルトの名無しさん (ワッチョイ 79da-DGYe)
2019/12/26(木) 16:43:01.33ID:nqqh6plV0 >>747は「事象Aが真でないならば事象Bは真ではない」
集合論で言えば「対偶」ではなくて「裏」の関係
集合論で言えば「対偶」ではなくて「裏」の関係
787デフォルトの名無しさん (ワッチョイ 79da-DGYe)
2019/12/26(木) 16:53:45.31ID:nqqh6plV0 「裏」の「逆」または「逆」の「裏」が「対偶」
ある命題とその待遇が等しいのはそれぞれの事象に因果関係が存在しない場合に限る
ある命題とその待遇が等しいのはそれぞれの事象に因果関係が存在しない場合に限る
788デフォルトの名無しさん (ワッチョイ 79da-DGYe)
2019/12/26(木) 16:55:11.16ID:nqqh6plV0 訂正
対偶 ← 待遇
対偶 ← 待遇
789デフォルトの名無しさん (ワッチョイ 2135-5PNG)
2019/12/26(木) 16:58:23.55ID:sEyHy/3c0 ダッサ。
790デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/26(木) 17:06:16.94ID:RfJEL4eB0 やっぱり、憶えたてなんだな
791デフォルトの名無しさん (ワッチョイ 79da-DGYe)
2019/12/26(木) 17:08:28.53ID:nqqh6plV0 間違った応用が>>747
792デフォルトの名無しさん (スップ Sd9e-2XGM)
2019/12/26(木) 17:49:48.63ID:WYIkcR78d MISRAの肩を持とうとしてしくじったトンマなやつに
どんな気持ちか聞いてみたのさ
どんな気持ちか聞いてみたのさ
793デフォルトの名無しさん (スップ Sd9e-2XGM)
2019/12/26(木) 17:53:02.71ID:WYIkcR78d 741本人以外がこんなに激怒するわけねえしな
なあトンマ、今どんな気持ち?
なあトンマ、今どんな気持ち?
794デフォルトの名無しさん (ドコグロ MM46-Nxir)
2019/12/26(木) 19:16:56.42ID:Fsuom43iM 対偶と裏の区別もつかずに年収8桁とか学歴とか低能にありがちなレス連発やんw
こんなわかりやすい奴久々に見たわ
こんなわかりやすい奴久々に見たわ
795デフォルトの名無しさん (ワッチョイ 1a63-K0SF)
2019/12/26(木) 19:33:59.80ID:AoPKrYsL0 この場合は対偶ではなく必要条件だろう
797デフォルトの名無しさん (ワッチョイ aa01-Nxir)
2019/12/26(木) 22:41:57.32ID:VSQSaAA/0 いくらMISRA推しガーとか言っても>>747がバカなのは変わらないんだがw
798デフォルトの名無しさん (ワッチョイ ae2c-fJ/L)
2019/12/26(木) 22:55:46.00ID:T0QuicHn0 トヨタの車が暴走した問題で、米国議会でも言ってただろ
トヨタは、MISRA-C で、10点ぐらいしか取れてないってw
100ルール中、90に違反してる
守ってない企業があるから、人命を預かる、ロケット・医療系組み込みなどでは、
特に厳しい資格が必要だと議論になってる
組み込みでは、バグで簡単に、人が死ぬから
だから、何十年も研究してる、Elixir みたいな関数型を使う
トヨタは、MISRA-C で、10点ぐらいしか取れてないってw
100ルール中、90に違反してる
守ってない企業があるから、人命を預かる、ロケット・医療系組み込みなどでは、
特に厳しい資格が必要だと議論になってる
組み込みでは、バグで簡単に、人が死ぬから
だから、何十年も研究してる、Elixir みたいな関数型を使う
799デフォルトの名無しさん (アウアウクー MMd2-Ap2Z)
2019/12/26(木) 23:26:05.24ID:46flAZOsM プログラムを書くのに●●は駄目だとか使いにくくなるほど制限かけてもさぁ
書きたい事に必要な関数とか書き方とか知らないようなのに投げてるだけなので脆弱性になるようなバグは出てくるし意味がない
むしろ知ってるような人にとっては制限になって害でしかない
書きたい事に必要な関数とか書き方とか知らないようなのに投げてるだけなので脆弱性になるようなバグは出てくるし意味がない
むしろ知ってるような人にとっては制限になって害でしかない
800798 (ワッチョイ ae2c-fJ/L)
2019/12/26(木) 23:35:54.81ID:T0QuicHn0 JavaScript で言えば、TypeScript, ESLint とか
違反を警告してくれる、lint ツール
違反を警告してくれる、lint ツール
801デフォルトの名無しさん (ワッチョイ 9602-Bzg6)
2019/12/27(金) 04:25:18.37ID:z/PqntEl0802デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/27(金) 08:36:35.25ID:DgDeU8pJ0803デフォルトの名無しさん (ワッチョイ aa01-Nxir)
2019/12/27(金) 10:25:45.84ID:LEFEPZUo0804デフォルトの名無しさん (アウアウウー Sa83-JRPA)
2019/12/27(金) 11:19:30.64ID:atLAFlUCa もうめんどくさいからMISRA押しのRuby君が害悪ということでいいのではなかろうか?
805デフォルトの名無しさん (ワッチョイ 6e14-K0SF)
2019/12/27(金) 11:33:33.48ID:4UHOi1400 >>798
トヨタなんて下請け丸投げでソース読めなくてレビューもしてくれなくてテスト仕様書も丸投げで無駄なエビデンスばかり要求してる
10点ぐらいしか取れてないのは下請けなんだけどそれを指摘もできない
トヨタなんて下請け丸投げでソース読めなくてレビューもしてくれなくてテスト仕様書も丸投げで無駄なエビデンスばかり要求してる
10点ぐらいしか取れてないのは下請けなんだけどそれを指摘もできない
806デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/27(金) 12:23:31.65ID:DgDeU8pJ0807デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/27(金) 12:25:05.61ID:DgDeU8pJ0 ちょっと年収の話したらあんなに発狂すると思わなかった
よっぽどコンプレックスらしいな、おーこわ
よっぽどコンプレックスらしいな、おーこわ
808デフォルトの名無しさん (ワッチョイ 328c-M7II)
2019/12/27(金) 13:04:42.76ID:8p+LGuzl0 作業は指示するが仕事は教えないクソ野郎が増えたから
この先の見通しが暗い。
この先の見通しが暗い。
809デフォルトの名無しさん (ワッチョイ aa01-Nxir)
2019/12/27(金) 13:14:05.49ID:LEFEPZUo0 「自称」上級者の意味すら理解できない>>806
だめなのは数学だけかと思ったら国語も壊滅的だなw
だめなのは数学だけかと思ったら国語も壊滅的だなw
810デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/27(金) 14:16:27.64ID:DgDeU8pJ0 見てやってよ、このファビョり方w
>>800
そういうものを MISRA 対応として lint ツールとして無償公開するのが筋というものでしょうね
そういうものを MISRA 対応として lint ツールとして無償公開するのが筋というものでしょうね
812デフォルトの名無しさん (ワッチョイ 1e01-dR36)
2019/12/27(金) 19:05:46.68ID:9mTyz2ro0 例外項目を設けてスコアで評価するにしても、事前に自動評価できるツールがあるといいですわね
813デフォルトの名無しさん (ワッチョイ 1a63-K0SF)
2019/12/27(金) 19:07:00.34ID:EEOcwadQ0 すぐに愚痴こぼしスレになってしまう
814デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/27(金) 19:30:32.05ID:DgDeU8pJ0 スコアとか意味ねえ
違反箇所は違反箇所で数の問題じゃねえ
違反プログラムは遠さねえとぬかすなら絶対に通すな
その結果に責任を持て
違反箇所は違反箇所で数の問題じゃねえ
違反プログラムは遠さねえとぬかすなら絶対に通すな
その結果に責任を持て
815デフォルトの名無しさん (ワッチョイ aa01-Nxir)
2019/12/27(金) 20:14:59.62ID:LEFEPZUo0 対偶すら理解できてない奴が責任を持てとかw
816デフォルトの名無しさん (ワッチョイ 7001-35Sh)
2019/12/27(金) 20:32:09.24ID:BhrMVyLj0 MISRA対応テストツール高そう
817デフォルトの名無しさん (ワッチョイ 7001-35Sh)
2019/12/27(金) 20:33:12.08ID:BhrMVyLj0 >>815
そこにしか突っ込むことが出来ないのですか?みじめですね…
そこにしか突っ込むことが出来ないのですか?みじめですね…
819798 (ワッチョイ ae2c-fJ/L)
2019/12/27(金) 21:01:30.94ID:G2Hqp8Jj0 組込み開発者におくるMISRA‐C:2004―C言語利用の高信頼化ガイド、MISRA‐C研究会、2006
この研究会は、トヨタなど大企業から、数十人のベテが集まって、
欧州人に聞きながら、作った本。
未だに、コーディングルールのバイブルだろ
元々は、Andrew Koenig の本
C Traps and Pitfalls, 1988, c1989
Cプログラミングの落とし穴
この本から、Lint が始まったのじゃないか?
この研究会は、トヨタなど大企業から、数十人のベテが集まって、
欧州人に聞きながら、作った本。
未だに、コーディングルールのバイブルだろ
元々は、Andrew Koenig の本
C Traps and Pitfalls, 1988, c1989
Cプログラミングの落とし穴
この本から、Lint が始まったのじゃないか?
820デフォルトの名無しさん (ワッチョイ aa01-Nxir)
2019/12/27(金) 21:11:55.30ID:LEFEPZUo0821デフォルトの名無しさん (ワッチョイ aa01-Nxir)
2019/12/27(金) 21:13:58.37ID:LEFEPZUo0822デフォルトの名無しさん (ワッチョイ 7001-35Sh)
2019/12/27(金) 21:29:02.92ID:BhrMVyLj0 そっかー組み込み屋さんはUNIXの歴史とか知らなかったりするのか
>>819
>この本から、Lint が始まったのじゃないか?
違います
初期の lint はベル研の V7 と同時、1979 にはリリースされています
K&R1 は特に引数まわりはスキのある仕様でしたので細かくチェックをいれる lint は必要であったのも理解できます、これは K&R2 になってかなり改善されました
それに最近のコンパイラは lint に似た warning も出せるようになったし
>この本から、Lint が始まったのじゃないか?
違います
初期の lint はベル研の V7 と同時、1979 にはリリースされています
K&R1 は特に引数まわりはスキのある仕様でしたので細かくチェックをいれる lint は必要であったのも理解できます、これは K&R2 になってかなり改善されました
それに最近のコンパイラは lint に似た warning も出せるようになったし
824798 (ワッチョイ ae2c-fJ/L)
2019/12/27(金) 22:09:21.87ID:G2Hqp8Jj0 はじめてのOSコードリーディング UNIX V6で学ぶカーネルのしくみ、青柳 隆宏、2013
そう言えば昔、こういう本も読んだ
そう言えば昔、こういう本も読んだ
825デフォルトの名無しさん (ワッチョイ 5e1d-fJ/L)
2019/12/28(土) 01:02:34.32ID:Td7wq8Cw0826デフォルトの名無しさん (ラクッペ MM70-DGYe)
2019/12/28(土) 02:00:59.65ID:xvOJ+UySM827デフォルトの名無しさん (ワッチョイ aa01-Nxir)
2019/12/28(土) 06:31:05.78ID:r5X0es4d0828デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/28(土) 07:57:54.17ID:b9pc6wBR0 >>817
そんな可能性は絶対の絶対にゼロだ
そんな可能性は絶対の絶対にゼロだ
829デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/28(土) 08:04:30.24ID:b9pc6wBR0 >>815
俺に言わせれば、おまえ文系くせえんだよ
俺はハード設計もやるから負論理だのド・モルガンだのは息をするくらい当たり前なことで
待遇だの裏だのという用語で得意がるやつは専門分野は何だろうと思ってしまうのさ
それから突っ込まれてるのはおまえだぞ、741本人よ
俺に言わせれば、おまえ文系くせえんだよ
俺はハード設計もやるから負論理だのド・モルガンだのは息をするくらい当たり前なことで
待遇だの裏だのという用語で得意がるやつは専門分野は何だろうと思ってしまうのさ
それから突っ込まれてるのはおまえだぞ、741本人よ
830デフォルトの名無しさん (スプッッ Sd9e-Rqzo)
2019/12/28(土) 08:18:01.34ID:5fvEktMvd 待遇で得意がるvsドモルガンで得意がる
小学生同士かよ
小学生同士かよ
831デフォルトの名無しさん (ワッチョイ aa01-Nxir)
2019/12/28(土) 08:39:28.74ID:r5X0es4d0832デフォルトの名無しさん (ワッチョイ 9bb2-HfLM)
2019/12/28(土) 09:32:59.76ID:b9pc6wBR0 やっぱり通じねえなw
833デフォルトの名無しさん (スプッッ Sd9e-Rqzo)
2019/12/28(土) 09:45:41.04ID:5fvEktMvd C言語の話しようぜ
834デフォルトの名無しさん (ワッチョイ 8746-RUNk)
2019/12/28(土) 10:06:23.41ID:VDzFwrot0 printf("やっぱり通じねえなw\n");
835798 (ワッチョイ ae2c-fJ/L)
2019/12/28(土) 11:10:17.46ID:vnZXJluZ0 電子回路・HDL などの組み込みでは、
AND, OR, NOT, NAND,NOR などの回路、
負論理、ド・モルガン、カルノー図とか、初歩だぞw
まず、情報処理の組み込みの教科書を読め!
AND, OR, NOT, NAND,NOR などの回路、
負論理、ド・モルガン、カルノー図とか、初歩だぞw
まず、情報処理の組み込みの教科書を読め!
836デフォルトの名無しさん (ワッチョイ 2135-YzVQ)
2019/12/28(土) 11:11:43.15ID:CljHkVQA0 >>831
負論理とかドモルガン知ってる人が対偶の意味知らないと思ってるの?
負論理とかドモルガン知ってる人が対偶の意味知らないと思ってるの?
837デフォルトの名無しさん (ワッチョイ 328c-M7II)
2019/12/28(土) 11:18:29.36ID:BVlwLEoZ0 双対は知らないだろう?
838デフォルトの名無しさん (アウアウウー Sa83-JRPA)
2019/12/28(土) 11:34:08.50ID:KhDEPBLca このスレっていつも下らない喧嘩を延々と続けてる奴らがいるけど、何なんだろう。どっちが正しいとか以前に言ってる中身(議論の仕方)が下らなくて他人からはどっちもバカにしか見えないから消えてくれないか。
>>827
Sun OS 4.1 のはやったことがありますが、初期の頃とは変わっていたのかも
Sun OS 4.1 のはやったことがありますが、初期の頃とは変わっていたのかも
840デフォルトの名無しさん (ラクッペ MM70-DGYe)
2019/12/28(土) 11:54:34.25ID:xvOJ+UySM841デフォルトの名無しさん (ドコグロ MM2e-Nxir)
2019/12/28(土) 12:53:03.04ID:1RUtvmltM842デフォルトの名無しさん (ワッチョイ 2135-YzVQ)
2019/12/28(土) 13:01:09.99ID:CljHkVQA0 読んでないから知らんけどこんな雑談に対偶ガーとか論理ガーとか証明ガーってのは馬鹿馬鹿しいね。
843デフォルトの名無しさん (ラクッペ MM70-DGYe)
2019/12/28(土) 13:08:05.93ID:xvOJ+UySM 似て非なるもの
ド・モルガン
A ∩ B = ¬(¬A ∪ ¬B)
A ∪ B = ¬(¬A ∩ ¬B)
対偶
A ⇒ B = ¬(¬B ⇒ ¬A)
ド・モルガン
A ∩ B = ¬(¬A ∪ ¬B)
A ∪ B = ¬(¬A ∩ ¬B)
対偶
A ⇒ B = ¬(¬B ⇒ ¬A)
844デフォルトの名無しさん (ラクッペ MM4b-HCDf)
2019/12/28(土) 13:09:43.37ID:1WIkADffM 正直、アスペ馬鹿が下らないことを追求したがってるだけにしか見えない
845デフォルトの名無しさん (ラクッペ MM70-DGYe)
2019/12/28(土) 13:14:14.77ID:xvOJ+UySM コピペ改変してから何か変だと思い直してみれば正解はこうだったすまん
対偶
A ⇒ B = ¬B ⇒ ¬A
対偶
A ⇒ B = ¬B ⇒ ¬A
846825 (ワッチョイ 5e1d-fJ/L)
2019/12/28(土) 13:19:13.30ID:Td7wq8Cw0847デフォルトの名無しさん (ラクッペ MM4b-EtAK)
2019/12/28(土) 14:01:27.13ID:L2lyDMSgM 後出しで負けを実装するとよりじゃんけんぽくなるぞ
848デフォルトの名無しさん (ワッチョイ f6d2-Bxcu)
2019/12/28(土) 15:05:05.31ID:VCBq52Cm0 C言語のBNFって何種類あるの?
知ってるだけ全部教えて
知ってるだけ全部教えて
849デフォルトの名無しさん (ワッチョイ aa01-Nxir)
2019/12/28(土) 15:51:37.71ID:r5X0es4d0850デフォルトの名無しさん (ワッチョイ aa01-Nxir)
2019/12/28(土) 15:54:09.64ID:r5X0es4d0 >>848
https://cs.wmich.edu/~gupta/teaching/cs4850/sumII06/The%20syntax%20of%20C%20in%20Backus-Naur%20form.htm
https://cs.wmich.edu/~gupta/teaching/cs4850/sumII06/The%20syntax%20of%20C%20in%20Backus-Naur%20form.htm
851デフォルトの名無しさん (アウアウウー Sa83-JRPA)
2019/12/28(土) 15:54:25.66ID:Srq0kgZJa >>848
ググれ
ググれ
852デフォルトの名無しさん (ワッチョイ c6c5-RbSw)
2019/12/28(土) 17:33:03.88ID:y9rwRM9T0 OKグーグル、CのBNFを教えて
853デフォルトの名無しさん (ワッチョイ 7001-35Sh)
2019/12/28(土) 17:41:03.87ID:c/4LCSnv0 K&Rの付録ページになかったかなかな?
854デフォルトの名無しさん (ワッチョイ c6c5-RbSw)
2019/12/28(土) 17:45:59.25ID:y9rwRM9T0 BNFで思い出したが
enum { a } func(void) { return a; }
この文法使い道ないよな
enum { a } func(void) { return a; }
この文法使い道ないよな
855デフォルトの名無しさん (ワッチョイ f2ad-K0SF)
2019/12/29(日) 03:22:40.86ID:GZSHSaBs0 >>855
その書き分けに意味はあるのでしょうか?
その書き分けに意味はあるのでしょうか?
857デフォルトの名無しさん (アウアウウー Sa83-JRPA)
2019/12/29(日) 10:49:06.87ID:OzwmxFfFa858デフォルトの名無しさん (ワッチョイ 9612-ggXP)
2019/12/29(日) 11:39:04.46ID:k3T+0Ot70 やたら長いコードの中で
it = &a;
*a = 0;
it = 0;
a = 0;
とか書かれたら混乱するだろ。
あ、でも屑はハンガリー人なんだっけ?
it = &a;
*a = 0;
it = 0;
a = 0;
とか書かれたら混乱するだろ。
あ、でも屑はハンガリー人なんだっけ?
>>858
ハンガリアンはやらないです
ハンガリアンはやらないです
860デフォルトの名無しさん (スップ Sd9e-Rqzo)
2019/12/29(日) 22:32:49.20ID:Y3W4ZjXNd >>858
混乱するから数値のゼロもdefineしなさい
混乱するから数値のゼロもdefineしなさい
861デフォルトの名無しさん (ワッチョイ 7001-35Sh)
2019/12/29(日) 23:06:45.98ID:jE46OAyh0 ハンガリー人は宇宙人だから仕方ないね
862デフォルトの名無しさん (ワッチョイ 4652-RbSw)
2019/12/30(月) 06:33:44.11ID:ypuMXf6z0 >>825,846
自分ならこんな感じで書く、程度のものですが思うけど良かったらどうぞ
https://pastebin.com/idm94WiU
別の機能を追加する必要とか出てきたとき、
ジャンケン自体を関数化してあげたほうがmain()関数内がゴチャゴチャしなくて良いかなと思って書きました。
自分ならこんな感じで書く、程度のものですが思うけど良かったらどうぞ
https://pastebin.com/idm94WiU
別の機能を追加する必要とか出てきたとき、
ジャンケン自体を関数化してあげたほうがmain()関数内がゴチャゴチャしなくて良いかなと思って書きました。
863デフォルトの名無しさん (ワッチョイ 0073-Rqzo)
2019/12/30(月) 08:17:18.73ID:JZjS6BbQ0 ゴチャゴチャがjankenに移るだけ
864デフォルトの名無しさん (ワッチョイ baa5-JrBF)
2019/12/30(月) 09:11:36.36ID:W9rqQHA30 typedef char String[1024];
とtypedefしてるのはたしかどこかの教科書の流儀だったはずだ
最近その話題を見かけた
とtypedefしてるのはたしかどこかの教科書の流儀だったはずだ
最近その話題を見かけた
865デフォルトの名無しさん (ワッチョイ 872c-La8A)
2019/12/30(月) 12:24:04.93ID:M1MgDNrq0 あいこでの再戦と、もう一回じゃんけんするのは、
目的が違うんだから別ロジックにすべき。
目的が違うんだから別ロジックにすべき。
866デフォルトの名無しさん (スッップ Sd70-Rqzo)
2019/12/30(月) 12:31:51.34ID:/N6WhDZId 同じ処理を共通化する
今後異なる可能性のある処理をあらかじめ分けておく
いろんな設計思想がある
今後異なる可能性のある処理をあらかじめ分けておく
いろんな設計思想がある
867デフォルトの名無しさん (ワッチョイ 7001-35Sh)
2019/12/30(月) 17:54:24.59ID:DLFwINBS0 #define O 0
868デフォルトの名無しさん (ワッチョイ 1c79-CfTH)
2019/12/30(月) 23:34:38.97ID:QMDb+rs/0869デフォルトの名無しさん (ワッチョイ e2ad-sLG6)
2019/12/31(火) 00:15:56.34ID:Qb6UeAHn0870デフォルトの名無しさん (ワッチョイ 4a77-HfLM)
2019/12/31(火) 00:24:22.42ID:jyfGwMQG0 1文字入力ならgetc使うかな。
871デフォルトの名無しさん (ワッチョイ 2cb6-HfLM)
2019/12/31(火) 07:44:51.11ID:8dhupYNq0 >>868
jmp_bufは配列のtypedefだよ
jmp_bufは配列のtypedefだよ
872デフォルトの名無しさん (ワッチョイ 4279-A9ky)
2020/01/01(水) 00:17:51.96ID:DMjscTxe0873デフォルトの名無しさん (ワッチョイ 5dcd-kIX1)
2020/01/02(木) 09:27:06.04ID:9VSdJ8Nx0 ポインタを受け取る関数先頭では必ずnullチェックを行うコーティングルールが有るのですが
malloc失敗したポインタをそのまま渡した時ぐらいしか使い道が思い付きません…
malloc失敗したポインタをそのまま渡した時ぐらいしか使い道が思い付きません…
874デフォルトの名無しさん (ワッチョイ 2e7b-nWGE)
2020/01/02(木) 09:28:21.50ID:mLLKwKl50 freeしたときに0入れるルールもあるんじゃないのそれ
875デフォルトの名無しさん (ワッチョイ 2252-rouQ)
2020/01/02(木) 09:37:24.05ID:+UNtt4nj0876デフォルトの名無しさん (ワッチョイ 814f-UAPS)
2020/01/02(木) 09:53:01.45ID:qr+4fHWP0 仕様としてnullを許可する関数ではチェック不要としているのかあるいは一律に
null渡し禁止としているのかで評価は変わりそうだが。
null渡し禁止としているのかで評価は変わりそうだが。
877デフォルトの名無しさん (ブーイモ MM62-kvXh)
2020/01/02(木) 10:24:26.88ID:Lvb+z/bpM get_state()みたいな関数があって失敗時はnullを返す。それを知らずに別の関数に戻り値を直接渡してしまったとか、nullが誤って渡されるケースなんていくらでもあると思うが。
873が超天才でそんなミスは絶対ありえないとしても、他人のコードやドキュメントが間違ってる可能性もある
873が超天才でそんなミスは絶対ありえないとしても、他人のコードやドキュメントが間違ってる可能性もある
878デフォルトの名無しさん (ワッチョイ c2a5-s4wZ)
2020/01/02(木) 10:39:04.82ID:Dgcghn810 Player*とEnemy*を取るRPGのバトル関数で
どちらかが死んでたらplayer->attack()関数は盛大に失敗する
この時の当該playerは消滅したわけでは無いが
enemyはメモリ上から消えている
ついでにこのattack関数が実は関数ポインタに付けられたプレイヤーのスキルだった場合、
attackがカラッポだと、徒手空拳になるか防御するか何もしないか、何故か敵味方全員が即死していきなりエンディングが始まるかのどれかになる
どちらかが死んでたらplayer->attack()関数は盛大に失敗する
この時の当該playerは消滅したわけでは無いが
enemyはメモリ上から消えている
ついでにこのattack関数が実は関数ポインタに付けられたプレイヤーのスキルだった場合、
attackがカラッポだと、徒手空拳になるか防御するか何もしないか、何故か敵味方全員が即死していきなりエンディングが始まるかのどれかになる
879デフォルトの名無しさん (ワッチョイ e179-E95m)
2020/01/02(木) 11:31:53.70ID:FHRar1Ix0 安全性を取るならいついかなる時もNULLチェックは行うべき
だがそもそもパフォーマンス至上主義だから
Cという太古の言語を危険を冒してまで使っているということを考えると微妙
パフォーマンスが重要でないならCを使っていることからして論外
だがそもそもパフォーマンス至上主義だから
Cという太古の言語を危険を冒してまで使っているということを考えると微妙
パフォーマンスが重要でないならCを使っていることからして論外
880デフォルトの名無しさん (ブーイモ MMb6-vILD)
2020/01/02(木) 11:38:58.14ID:ZKet2vMyM 成否を含んだtupleを渡し実行時に判別、式全体を読み飛ばす粒度の小さい隠れた分岐構文みたいなの有ればいいのにねー
成否要素だけの反転は !!tulpevalue みたいな感じで
c言語の仕事じゃないだろうしそもそもtupleなんて持ってないし
うんこマが技巧駆使してわけわからんコード書くツールになるだけかもしれんし弊害いろいろ思いつくけど
成否要素だけの反転は !!tulpevalue みたいな感じで
c言語の仕事じゃないだろうしそもそもtupleなんて持ってないし
うんこマが技巧駆使してわけわからんコード書くツールになるだけかもしれんし弊害いろいろ思いつくけど
881デフォルトの名無しさん (ワッチョイ 2252-rouQ)
2020/01/02(木) 11:39:55.37ID:+UNtt4nj0 >>878
召喚された悪魔が鼻から出てきて世界滅亡エンドも追加しといて。
召喚された悪魔が鼻から出てきて世界滅亡エンドも追加しといて。
882デフォルトの名無しさん (ワッチョイ 4201-19tT)
2020/01/02(木) 12:33:18.19ID:LqVuN/CI0883デフォルトの名無しさん (ワッチョイ 06ad-0Mr6)
2020/01/02(木) 12:38:16.19ID:wpzQe/fn0 nullに意味を持たせないプログラムなら、
null checkしないと落ちる環境ならする意味ないんじゃね
null checkしないと落ちる環境ならする意味ないんじゃね
884デフォルトの名無しさん (アウウィフ FFa5-p4uH)
2020/01/02(木) 14:45:20.78ID:fRqsjLPxF Release build だと assert 消えるって知らない人意外と多いんですね
885デフォルトの名無しさん (ワッチョイ 2252-rouQ)
2020/01/02(木) 15:06:10.66ID:+UNtt4nj0 >>884
消えるって知ってるからassertにしろっていう意見なんだろう
消えるって知ってるからassertにしろっていう意見なんだろう
886デフォルトの名無しさん (アウウィフ FFa5-p4uH)
2020/01/02(木) 15:47:44.05ID:NYIo0K4bF その意見を完全にスルーしてコメントしてる人がいるよね
887デフォルトの名無しさん (ドコグロ MM0a-19tT)
2020/01/02(木) 16:46:49.09ID:YqaismelM >>886
誰のことを言ってるの?
誰のことを言ってるの?
888デフォルトの名無しさん (ワッチョイ 8101-W/+2)
2020/01/02(木) 19:01:18.56ID:/MiE1Mk20 ぬるぽ
889デフォルトの名無しさん (ワッチョイ 41e8-W/+2)
2020/01/02(木) 19:06:06.49ID:LbxbUX1g0 がっ!
890デフォルトの名無しさん (ワッチョイ 6e12-kvXh)
2020/01/02(木) 19:09:50.49ID:ZQF68/R30 酷い自演を見た
891デフォルトの名無しさん (ワッチョイ 41e8-W/+2)
2020/01/02(木) 19:13:07.31ID:LbxbUX1g0 ジ・エンド!
892デフォルトの名無しさん (ワッチョイ 02f5-HvJ8)
2020/01/02(木) 19:21:03.30ID:koJayFbu0 assertを本番環境に持ち込むべきと
主張する痛いやつが昔いたが
奴は今どうしてるかな
主張する痛いやつが昔いたが
奴は今どうしてるかな
C++11 の static_assert は便利なんですけれどもね…これ、C に入らないかな…
assert も static_assert と同じ用途・考え方で使うべきものかと思いますね
assert も static_assert と同じ用途・考え方で使うべきものかと思いますね
894デフォルトの名無しさん (ワッチョイ 02f5-HvJ8)
2020/01/02(木) 20:05:40.84ID:koJayFbu0 Cにもstatic_assertか
考えたこともなかったが
確かにあったらよさそうだな
もういじるなってのが
俺の基本だが
追加に賛成できる珍しい例だ
考えたこともなかったが
確かにあったらよさそうだな
もういじるなってのが
俺の基本だが
追加に賛成できる珍しい例だ
895デフォルトの名無しさん (ワッチョイ 4201-19tT)
2020/01/02(木) 20:45:56.41ID:LqVuN/CI0896デフォルトの名無しさん (ブーイモ MM85-rvM9)
2020/01/02(木) 20:51:06.32ID:hML6I4krM おいおいおい
897デフォルトの名無しさん (ブーイモ MM62-iq6k)
2020/01/02(木) 20:59:07.77ID:tgRnMcUUM >>895
assert は Debug ビルドのときだけチェックを行う実装になってるのが普通
assert は Debug ビルドのときだけチェックを行う実装になってるのが普通
898デフォルトの名無しさん (ワッチョイ 4201-19tT)
2020/01/02(木) 21:59:00.14ID:LqVuN/CI0899デフォルトの名無しさん (ブーイモ MM62-iq6k)
2020/01/02(木) 22:07:28.72ID:tgRnMcUUM900デフォルトの名無しさん (ワッチョイ 8263-UAPS)
2020/01/02(木) 22:08:11.77ID:SH5dgl7q0 本番環境に持ち込むべき
影響出ないんだから
こういうことでは
影響出ないんだから
こういうことでは
901デフォルトの名無しさん (ブーイモ MM6d-vILD)
2020/01/02(木) 22:22:27.18ID:oLW+m36dM 深いところで拾ったエラーを浅層に戻して対応する必要がなく「ダメよ」と述べ落ち許されるプログラムならば
assert残すのも有りよね
実際#ifdef DEBUGで包んでるだけだし
imagemagickなんかも引数チェックを通った後の個々パラメータ内で不整合出たらassertでメッセージ流して落ちるし
assert残すのも有りよね
実際#ifdef DEBUGで包んでるだけだし
imagemagickなんかも引数チェックを通った後の個々パラメータ内で不整合出たらassertでメッセージ流して落ちるし
903デフォルトの名無しさん (ワッチョイ 4201-19tT)
2020/01/02(木) 22:29:39.05ID:LqVuN/CI0904デフォルトの名無しさん (ワッチョイ 2252-rouQ)
2020/01/02(木) 22:30:49.81ID:+UNtt4nj0 >>901
assertに引っ掛かったときの挙動は置いとくとしても、assertの処理内容や頻度によっては実行時コストが問題になる可能性も無くはないから、単純にやってよしとはならないと思うぞ。
assertに引っ掛かったときの挙動は置いとくとしても、assertの処理内容や頻度によっては実行時コストが問題になる可能性も無くはないから、単純にやってよしとはならないと思うぞ。
905デフォルトの名無しさん (ブーイモ MM6d-vILD)
2020/01/02(木) 23:00:40.06ID:oLW+m36dM 効率厨はログ出力を見れるGNUemacsのeshell辺りででもwindowsプログラム立ち上げてみ?
プロプラ、オープンソースに関係なく大半のリリースビルドが膨大な出力を出しっパになってる現状に絶望するだろうから
プロプラ、オープンソースに関係なく大半のリリースビルドが膨大な出力を出しっパになってる現状に絶望するだろうから
906デフォルトの名無しさん (ワッチョイ 8263-UAPS)
2020/01/02(木) 23:03:44.94ID:SH5dgl7q0 >>905
その環境で動かすと、プリプロセッサ段階で消去されているはずのデバッグ文実行結果が見れる様になるんですか?
その環境で動かすと、プリプロセッサ段階で消去されているはずのデバッグ文実行結果が見れる様になるんですか?
907デフォルトの名無しさん (ワッチョイ 2252-rouQ)
2020/01/03(金) 01:04:07.68ID:kXvb5Zcs0 >>905
処理内容や頻度によって実行時コストが問題になる可能性があると言っただけで効率厨扱いとはw
既存プログラムでログを大量に出しているからと反論しているが、だからそれがどうしたというのだ? ログを出しても性能的に問題ない範囲、頻度、量で出しているだけだろう。
処理内容や頻度によって実行時コストが問題になる可能性があると言っただけで効率厨扱いとはw
既存プログラムでログを大量に出しているからと反論しているが、だからそれがどうしたというのだ? ログを出しても性能的に問題ない範囲、頻度、量で出しているだけだろう。
>>907
assertion は「コメントの一種」という私の立場では、重い assertion の罪は軽い、許容できると感じています
assertion は「コメントの一種」という私の立場では、重い assertion の罪は軽い、許容できると感じています
909デフォルトの名無しさん (ワッチョイ e173-ALt1)
2020/01/03(金) 08:42:01.33ID:3k7MKqlh0 組み込みだとタイミング込みで評価するから
ビルドを切り替えられないんだよね
assertはログだけ出すようにしてるが
ウォッチドッグを効かすってのもありかな
起こり得ないところで使うってのはその通り
ビルドを切り替えられないんだよね
assertはログだけ出すようにしてるが
ウォッチドッグを効かすってのもありかな
起こり得ないところで使うってのはその通り
910デフォルトの名無しさん (ワッチョイ c2a5-s4wZ)
2020/01/03(金) 14:46:00.81ID:SORF6jE90 ロケット打ち上げ2秒後でassert出ても意味が無いな
そのまま大爆発だ
衝突する0.5秒前でassert出ても意味が無い
時速90kmでそのまま衝突だ
そのまま大爆発だ
衝突する0.5秒前でassert出ても意味が無い
時速90kmでそのまま衝突だ
uint64_t を配列の添え字に使えるかどうかって何か規格はありますか?
手元の環境は unsigned int のようなんですが、gcc/ming32-x64
手元の環境は unsigned int のようなんですが、gcc/ming32-x64
912デフォルトの名無しさん (ワッチョイ 2eda-ALt1)
2020/01/04(土) 22:03:02.52ID:hAlxX0tq0 uint64_tどころかポインタも使えるぞ
913デフォルトの名無しさん (ワッチョイ 791a-UAPS)
2020/01/04(土) 22:09:03.08ID:49Uce+wI0 >>911 何を見て「unsigned int のよう」と言っているの?
914デフォルトの名無しさん (ワッチョイ 42da-hqVv)
2020/01/04(土) 22:28:50.08ID:HbavYk5j0 >>911
ISO/IEC 9899:2011 (E)
6.5.2.1 Array subscripting
1 One of the expressions shall have type "pointer to complete object type", the other
expression shall have integer type, and the result has type "type".
7.19 Common definitions <stddef.h>
size_t
which is the unsigned integer type of the result of the sizeof operator;
どこにもunsigned intに限定するとは書いてねえぞ
unsigned integerと書いてあるのが
おまえはunsigned intに見えるのか?
ISO/IEC 9899:2011 (E)
6.5.2.1 Array subscripting
1 One of the expressions shall have type "pointer to complete object type", the other
expression shall have integer type, and the result has type "type".
7.19 Common definitions <stddef.h>
size_t
which is the unsigned integer type of the result of the sizeof operator;
どこにもunsigned intに限定するとは書いてねえぞ
unsigned integerと書いてあるのが
おまえはunsigned intに見えるのか?
>>912-914
コメントありがとうございます
uint64_t と int をいいかげんにチャンポンに使っていたための祟りに襲われてしまっているところでして…
a[i] = *(a + i)
を考えれば、i が int = int32_t, であろうと uint64_t であろうと、うまくやってくれると予想できますね
コメントありがとうございます
uint64_t と int をいいかげんにチャンポンに使っていたための祟りに襲われてしまっているところでして…
a[i] = *(a + i)
を考えれば、i が int = int32_t, であろうと uint64_t であろうと、うまくやってくれると予想できますね
916デフォルトの名無しさん (ワッチョイ c2a5-s4wZ)
2020/01/05(日) 12:03:03.18ID:buL7vvPT0 そこは
[a]i = *(a+i)
だろ
[a]i = *(a+i)
だろ
917デフォルトの名無しさん (ワッチョイ 42da-hqVv)
2020/01/05(日) 12:18:38.35ID:JLxpDEWT0918デフォルトの名無しさん (ワッチョイ 41e8-W/+2)
2020/01/05(日) 12:50:09.43ID:+e7zv/8B0 STLの配列の添え字は、std::size_tと同じ範囲が使えるように思う。
このstd::size_tには長さの制約は多分ない。
常識的に考えて、32ビットのプログラムで64ビットの配列を使うことはあまり現実的ではない。
なので、std::size_tの長さはNビットプログラムにフィットするようにコンパイル時にスイッチされる。はず。
このstd::size_tには長さの制約は多分ない。
常識的に考えて、32ビットのプログラムで64ビットの配列を使うことはあまり現実的ではない。
なので、std::size_tの長さはNビットプログラムにフィットするようにコンパイル時にスイッチされる。はず。
919デフォルトの名無しさん (ワッチョイ 42da-hqVv)
2020/01/05(日) 12:58:44.11ID:JLxpDEWT0 思うんじゃなく確認しろ、多分とか寝言ぬかしてねえで
N4713
26.2.1 General container requirements
Table 83 ? Container requirements
X::size_type
size_type can represent any non-negative value of difference_type
26.3.8.1 Class template deque overview
// element access
reference operator[](size_type n);
const_reference operator[](size_type n) const;
N4713
26.2.1 General container requirements
Table 83 ? Container requirements
X::size_type
size_type can represent any non-negative value of difference_type
26.3.8.1 Class template deque overview
// element access
reference operator[](size_type n);
const_reference operator[](size_type n) const;
920デフォルトの名無しさん (ラクッペ MM61-Gr30)
2020/01/05(日) 13:25:51.85ID:qO+R3XJXM 教官湧いててワロタ
921デフォルトの名無しさん (ワッチョイ 9901-8/Ff)
2020/01/05(日) 13:55:25.64ID:+b/hvkzN0 教官使い倒そうぜ。
タダだし。
タダだし。
922デフォルトの名無しさん (ワッチョイ 417b-wLQD)
2020/01/05(日) 15:43:26.81ID:Apdi0tl00 具体的な規格の文面を引用して示してくれるのは有難いことでしょ。
手元にPDFとかで持ってても場所を見つけるのが苦労で諦めることが多いし。
size_type can represent any non-negative value of difference_type
の部分を見ると size_t の大きさは difference_type の大きさに依存する、
少なくとも difference_type の正の範囲より広い、で合ってるかな。
ならば difference_type の範囲はどうなってるの? って具合に
疑問の先が移動するね。答えに近づいたけれど到達はしてない感じ。
手元にPDFとかで持ってても場所を見つけるのが苦労で諦めることが多いし。
size_type can represent any non-negative value of difference_type
の部分を見ると size_t の大きさは difference_type の大きさに依存する、
少なくとも difference_type の正の範囲より広い、で合ってるかな。
ならば difference_type の範囲はどうなってるの? って具合に
疑問の先が移動するね。答えに近づいたけれど到達はしてない感じ。
923デフォルトの名無しさん (アウアウエー Sa4a-p4uH)
2020/01/05(日) 20:35:48.07ID:eK7nc1Ssa 添え字は size_t が良き
924デフォルトの名無しさん (ワッチョイ 82c5-E95m)
2020/01/06(月) 01:11:40.15ID:eLfBkWc60 俺は符号付のほうが好きだな
符号なしって扱いがめんどくさい
符号なしって扱いがめんどくさい
925デフォルトの名無しさん (ワッチョイ 4279-A9ky)
2020/01/06(月) 02:32:02.65ID:4dvQB2Dx0 メモリアドレスに符号はない
926デフォルトの名無しさん (ワッチョイ 42da-hqVv)
2020/01/06(月) 02:58:19.15ID:5D5lgCny0 だがptrdiff_tは符号付きだ
絶対アドレスに符号はなくても
オフセットには符号がある
配列の添え字はオフセットなわけだが
それでもsize_tであるべきか?
絶対アドレスに符号はなくても
オフセットには符号がある
配列の添え字はオフセットなわけだが
それでもsize_tであるべきか?
927デフォルトの名無しさん (アークセー Sxf1-zEig)
2020/01/06(月) 03:02:12.43ID:YD66nlsEx BSTRのように、ときどき境界より前を参照したいことはあるかな
928デフォルトの名無しさん (ワッチョイ 42da-hqVv)
2020/01/06(月) 03:05:00.95ID:5D5lgCny0 free()とかマイナスオフセットなしでどうやって実装するんだよ、とかね
929デフォルトの名無しさん (ワッチョイ 9901-h51Y)
2020/01/06(月) 10:54:17.16ID:zGikmXAV0 マジ?
930デフォルトの名無しさん (ワッチョイ 9901-skQ4)
2020/01/06(月) 13:04:19.40ID:UJayP8xu0 いつになるか激的アーキテクチャの進化でも迎えない限り
64bitでmsbまで使い切る正数アドレスなんて無いから
相対はヌルチェック+自動整数変換に頼っときゃいいんじゃね
fseek/off_tはなんかもやもや放置気味?誰が完全な解決をもたらすのか
64bitでmsbまで使い切る正数アドレスなんて無いから
相対はヌルチェック+自動整数変換に頼っときゃいいんじゃね
fseek/off_tはなんかもやもや放置気味?誰が完全な解決をもたらすのか
931デフォルトの名無しさん (ワイーワ2 FF8a-p4uH)
2020/01/06(月) 19:21:49.21ID:OSGVopulF 変なセグメント跨がないだけまだマシ
932デフォルトの名無しさん (ワッチョイ 82c5-E95m)
2020/01/06(月) 20:57:41.21ID:eLfBkWc60 俺はCからプログラミング言語は学んだが、Cから入って正解だったな
あの苦難の道を思えばどれも大したことはない
C++とRustを除けば
あの苦難の道を思えばどれも大したことはない
C++とRustを除けば
933デフォルトの名無しさん (ワッチョイ 42ad-cEPd)
2020/01/07(火) 00:34:22.49ID:MpiZXKP+0 >>925
しかし俺の心の中にあるのだ。
しかし俺の心の中にあるのだ。
934デフォルトの名無しさん (ワッチョイ 8263-UAPS)
2020/01/07(火) 10:47:03.55ID:YpzCpCxL0 君はディラックの海に飲み込まれている
935デフォルトの名無しさん (ワッチョイ 82c5-E95m)
2020/01/07(火) 16:39:38.02ID:Hzpz4xj50 なんだっけそれ
どっかで聞いたことあるんだが思い出せない
どっかで聞いたことあるんだが思い出せない
936デフォルトの名無しさん (ワッチョイ be7c-UAPS)
2020/01/07(火) 16:45:14.58ID:3/Noa7Ai0 >>935
熱素やエーテルみたいな架空の物質モデル論のひとつ
熱素やエーテルみたいな架空の物質モデル論のひとつ
937デフォルトの名無しさん (ワッチョイ 7fc5-G18V)
2020/01/08(水) 23:52:10.09ID:2EljHN2O0938デフォルトの名無しさん (ワッチョイ 5f2c-fsjN)
2020/01/10(金) 20:53:06.96ID:z03T2m7q0 2019年に成長したプログラミング言語ランキング、第1位は? 2020/01/10 09:18 後藤大地
https://news.mynavi.jp/article/20200110-952052/
TIOBE Softwareがこのほど、2019年に最もインデックス値を伸ばしたC言語が2019年のプログラミング
言語・オブ・ザ・イヤーに輝いたと伝えた。第2位はC#で、これにPythonとSwiftが続いている。
C言語のインデックス値が伸びた理由として、IoTおよび小型のインテリジェントデバイスにおいて需要が
高いためだという。C言語は短時間で習得が可能な上、すべてのプロセッサにおいてCコンパイラを利用
できる。TIOBE Softwareは、こうした状況がC言語のインデックス値上昇を招いたのではないかと分析
している。
発表された2019年におけるインデックス増加率と順位は次のとおり。[順位]プログラミング言語(増加率)
[1]C(+2.4%)、[2]C#(+2.1%)、[3]Python(+1.4%)、[4]Swift(+0.6%)、
2019年のプログラミング言語・オブ・ザ・イヤーは、2018年に引き続きPythonが受賞するだろうと考え
られていた。これは、Pythonが2018年に入ってから長期にわたって増加傾向を維持しているためだ。
しかし、2019年はC言語の増加率がPythonを超えて1位となった。C言語は2016年に一気にインデッ
クス値を下落させており、2017年後半から逆に増加に転じている。ずでに減少以前の水準まで戻って
きており、今後も同様のペースで増加を続けるかどうかはわからない。
仮に、今後も同様のペースでC言語の増加傾向が続いた場合、JavaとC言語のポジションが逆転して
C言語が首位になる月が出てくる可能性もある。しかし、過去の動向として、JavaとC言語は推移が同調
する傾向が強く、Javaが第1位でCが第2位という順位のまま推移する可能性もある。(中略)
TIOBE Programming Community Index (PCI)は、複数の検索エンジンの検索結果から、対象となる
プログラミング言語がどれだけ話題になっているかをインデックス化したもの。2020年1月におけるイン
デックスは次のとおり。
1月TIOBE Programming Community Index / 円グラフ
https://news.mynavi.jp/article/20200110-952052/images/002.jpg
https://news.mynavi.jp/article/20200110-952052/
TIOBE Softwareがこのほど、2019年に最もインデックス値を伸ばしたC言語が2019年のプログラミング
言語・オブ・ザ・イヤーに輝いたと伝えた。第2位はC#で、これにPythonとSwiftが続いている。
C言語のインデックス値が伸びた理由として、IoTおよび小型のインテリジェントデバイスにおいて需要が
高いためだという。C言語は短時間で習得が可能な上、すべてのプロセッサにおいてCコンパイラを利用
できる。TIOBE Softwareは、こうした状況がC言語のインデックス値上昇を招いたのではないかと分析
している。
発表された2019年におけるインデックス増加率と順位は次のとおり。[順位]プログラミング言語(増加率)
[1]C(+2.4%)、[2]C#(+2.1%)、[3]Python(+1.4%)、[4]Swift(+0.6%)、
2019年のプログラミング言語・オブ・ザ・イヤーは、2018年に引き続きPythonが受賞するだろうと考え
られていた。これは、Pythonが2018年に入ってから長期にわたって増加傾向を維持しているためだ。
しかし、2019年はC言語の増加率がPythonを超えて1位となった。C言語は2016年に一気にインデッ
クス値を下落させており、2017年後半から逆に増加に転じている。ずでに減少以前の水準まで戻って
きており、今後も同様のペースで増加を続けるかどうかはわからない。
仮に、今後も同様のペースでC言語の増加傾向が続いた場合、JavaとC言語のポジションが逆転して
C言語が首位になる月が出てくる可能性もある。しかし、過去の動向として、JavaとC言語は推移が同調
する傾向が強く、Javaが第1位でCが第2位という順位のまま推移する可能性もある。(中略)
TIOBE Programming Community Index (PCI)は、複数の検索エンジンの検索結果から、対象となる
プログラミング言語がどれだけ話題になっているかをインデックス化したもの。2020年1月におけるイン
デックスは次のとおり。
1月TIOBE Programming Community Index / 円グラフ
https://news.mynavi.jp/article/20200110-952052/images/002.jpg
939デフォルトの名無しさん (ワッチョイ 5f3c-G18V)
2020/01/10(金) 23:49:08.97ID:dnkcugEB0 >C言語は短時間で習得が可能
お、おう
お、おう
940デフォルトの名無しさん (ワッチョイ 7f79-G18V)
2020/01/10(金) 23:54:40.89ID:g1glT3r10 Cの文法や標準ライブラリがコンパクトだし覚えるべき概念も少ないのは間違いない
941デフォルトの名無しさん (ワッチョイ 7f52-4RSc)
2020/01/11(土) 00:21:52.03ID:tkcR1Lp+0 覚えることは少ない(簡単ではないけど)
942デフォルトの名無しさん (ワッチョイ 7fa5-sEAu)
2020/01/11(土) 00:57:34.91ID:NtF2wljx0 オブジェクト指向とポインタならポインタの方がラク
それにメモリに沿ってるので分かり易い
それにメモリに沿ってるので分かり易い
943デフォルトの名無しさん (ワッチョイ df52-G18V)
2020/01/11(土) 03:00:34.20ID:3RtWHygz0 ポインタとオブジェクト指向は別物だからな
そもそも比べるのがおかしい
そもそも比べるのがおかしい
944デフォルトの名無しさん (ワッチョイ 7fad-0nyV)
2020/01/11(土) 07:57:38.18ID:qIT1Gaoe0 考えようによっては、ポインタとメモリの関係を理解してしまえば、
Cほど単純な言語とその標準ライブラリも他にないからなぁ
Cほど単純な言語とその標準ライブラリも他にないからなぁ
945デフォルトの名無しさん (ワッチョイ 7f01-qx2z)
2020/01/11(土) 09:58:53.91ID:AmOO0hUd0 まあ組込みだとCでいいと思うけどテンプレとかも使いたいからオラはベターCだな
946デフォルトの名無しさん (ワッチョイ ff8c-GYCx)
2020/01/11(土) 10:17:43.71ID:MvVD+3kL0 APIでいろいろある。
947デフォルトの名無しさん (ワッチョイ df2c-aZjs)
2020/01/11(土) 11:30:24.41ID:Rj+B3SHF0 ま、抽象度が低いと覚えることは少ないんだよ。
論理回路は覚えることが超少ない。
論理回路は覚えることが超少ない。
948デフォルトの名無しさん (ワッチョイ 7fad-W3qw)
2020/01/11(土) 16:02:03.38ID:j7/IvFvR0 Kotlin もよろしく
949デフォルトの名無しさん (ワッチョイ df35-e1y7)
2020/01/11(土) 16:06:43.26ID:tdQ2h9sk0 覚えることが少ないというか物理的で直感的だからわかりやすい
クラスとか言われても初心者には「?」だし
クラスとか言われても初心者には「?」だし
950デフォルトの名無しさん (ワッチョイ 7f47-soYg)
2020/01/11(土) 16:32:40.71ID:Mi8oZktw0 C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために
さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが
簡単に生産されるようになってる。正直いって、C を選ぶ理由が C++ プログラマーを
追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。
C++ はトンでもなく悪い設計の元になりうる。どうせこの言語ではいつも STL やら
Boost やら、その他ゲロゲロベロベロの「素敵な」ライブラリの機能を使って、
それがあんたのプログラムに「役立つ」んだろうが、以下のことが起きる:
- うまく動かないときにもたらされる際限のない苦痛 (あと STL とか、特に Boost が
安定してるとか移植性があるとかいう奴は、どいつもこいつも大ウソつきで、
もはや笑えるレベルを超えている)
- 非効率な抽象プログラミングモデルで、2年たった後にこれらが実はそんなに
効率的じゃなかったことに気づくケース。でもそのときにはすでに全部の
コードがその素晴らしいオブジェクトモデルに依存していて、直すためには
アプリ全体を書き直さなきゃなんない。
言いかえれば、唯一まともで、効率がよくて、システムレベルで使えて、移植性がある
C++ ってのは、基本的に C で使える機能だけに限ったときなんだ。そして C だけに
限定するってことは、他の人がそれをめちゃくちゃにしないってことで、
ついでに沢山のプログラマが実際に低水準の問題を理解することができて、アホらしい
「オブジェクト・モデル」のたわごとを持ちこまないってことだ。
さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが
簡単に生産されるようになってる。正直いって、C を選ぶ理由が C++ プログラマーを
追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。
C++ はトンでもなく悪い設計の元になりうる。どうせこの言語ではいつも STL やら
Boost やら、その他ゲロゲロベロベロの「素敵な」ライブラリの機能を使って、
それがあんたのプログラムに「役立つ」んだろうが、以下のことが起きる:
- うまく動かないときにもたらされる際限のない苦痛 (あと STL とか、特に Boost が
安定してるとか移植性があるとかいう奴は、どいつもこいつも大ウソつきで、
もはや笑えるレベルを超えている)
- 非効率な抽象プログラミングモデルで、2年たった後にこれらが実はそんなに
効率的じゃなかったことに気づくケース。でもそのときにはすでに全部の
コードがその素晴らしいオブジェクトモデルに依存していて、直すためには
アプリ全体を書き直さなきゃなんない。
言いかえれば、唯一まともで、効率がよくて、システムレベルで使えて、移植性がある
C++ ってのは、基本的に C で使える機能だけに限ったときなんだ。そして C だけに
限定するってことは、他の人がそれをめちゃくちゃにしないってことで、
ついでに沢山のプログラマが実際に低水準の問題を理解することができて、アホらしい
「オブジェクト・モデル」のたわごとを持ちこまないってことだ。
951デフォルトの名無しさん (ワイーワ2 FF7f-Eg5K)
2020/01/11(土) 17:09:55.20ID:l/QLWHKHF const 禁止のことを言ってるなら同意
952デフォルトの名無しさん (ワッチョイ 7f01-qx2z)
2020/01/11(土) 17:46:53.86ID:AmOO0hUd0953デフォルトの名無しさん (ワッチョイ ff7b-WeIK)
2020/01/11(土) 17:53:57.75ID:DoM09T/H0 有名なリーナスのコピペだろ
954デフォルトの名無しさん (ワッチョイ ff8c-GYCx)
2020/01/11(土) 22:53:33.52ID:AUXeR2Nj0 初心者がC++を使うのはクラスが便利とかではなくて便利そうなライブラリを引っ張てこれるからだろう。
955デフォルトの名無しさん (ワッチョイ 7f79-G18V)
2020/01/11(土) 22:55:44.33ID:maKKMM+r0 便利そうなライブラリを引っ張ってこれる時点でプログラミング初心者ではないし
そもそもC++から始めるプログラミング初心者とか存在すんのか?
そもそもC++から始めるプログラミング初心者とか存在すんのか?
956デフォルトの名無しさん (ワッチョイ df01-Hp8P)
2020/01/11(土) 23:26:05.56ID:PA1VQQuv0 >>947
NANDだけだな
NANDだけだな
957デフォルトの名無しさん (ワッチョイ df01-ErPi)
2020/01/11(土) 23:31:10.93ID:r5wulSj/0 単純に便利だからじゃないの。
958デフォルトの名無しさん (ワッチョイ 5f3c-G18V)
2020/01/12(日) 01:47:15.90ID:yxPPqVVq0 >>956
そうなんだ
そうなんだ
959デフォルトの名無しさん (ワッチョイ 7f63-lB9F)
2020/01/12(日) 01:51:46.75ID:HwD03+Q90 笑って良いか?w
960蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ df01-fZVk)
2020/01/12(日) 02:18:33.81ID:1G/fBof90 いいとも!
961デフォルトの名無しさん (ワッチョイ 7fc5-G18V)
2020/01/12(日) 03:10:59.78ID:Svv4a/Ag0 gccコンパイルしたんだが今どきのgccってC++で書かれてるんだな
恥ずかしながらつい最近まで知らんかった
恥ずかしながらつい最近まで知らんかった
962デフォルトの名無しさん (ワッチョイ ff8c-GYCx)
2020/01/12(日) 07:25:04.57ID:t6zFaymS0 >>947
でも日本は失敗したんだよね。
でも日本は失敗したんだよね。
963デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/13(月) 14:02:27.58ID:JUx858UH0 質問です。32bitで確保できるメモリの上限近く(windowsなので1.5GBとか)を
色々なデータで確保した後、いっきに半分以上解放し、またいっきに色々なデータで
上限近く確保しようとするとmalloc()が失敗します(NULLを返す)。
プロセスのメモリを見ても500MBくらいまで落ちてから再確保しているようですがダメです。
これは内部で何が起こっているのでしょうか?断片化とかでしょうか??
色々なデータで確保した後、いっきに半分以上解放し、またいっきに色々なデータで
上限近く確保しようとするとmalloc()が失敗します(NULLを返す)。
プロセスのメモリを見ても500MBくらいまで落ちてから再確保しているようですがダメです。
これは内部で何が起こっているのでしょうか?断片化とかでしょうか??
964963 (ワッチョイ 5f02-tgR8)
2020/01/13(月) 14:50:30.36ID:JUx858UH0 追加ですが殆どのデータを解放して使用量50MBくらいにしてから
しばらく待ってから再確保すると上手く行くようです。ただ500〜1000MBくらい残してから
また上限近くまで確保しようとすると失敗します。何故でしょうか?
しばらく待ってから再確保すると上手く行くようです。ただ500〜1000MBくらい残してから
また上限近くまで確保しようとすると失敗します。何故でしょうか?
965蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ df01-fZVk)
2020/01/13(月) 15:39:54.87ID:xgMgrp400 よくわからんけど、ヒープメモリの仕組みを調べるといいかも。
966デフォルトの名無しさん (ワッチョイ df01-ErPi)
2020/01/13(月) 15:42:12.61ID:WUoSHY6Y0 アリ人間は何故なまえを変えたのか。
967デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/13(月) 15:47:05.97ID:5GjUS2iX0 フラグメント
断片化
アドレス空間2GBの壁
諦めなさい
断片化
アドレス空間2GBの壁
諦めなさい
968デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/13(月) 15:54:23.75ID:5GjUS2iX0 極端な例
256MBのメモリを8個確保 (2GB分) したあと
1, 3, 5, 7個目を解放
この状態だと
1GB空きがあるのに
連続で空いてるのは256MB
だから512MBの確保に失敗する
256MBのメモリを8個確保 (2GB分) したあと
1, 3, 5, 7個目を解放
この状態だと
1GB空きがあるのに
連続で空いてるのは256MB
だから512MBの確保に失敗する
969デフォルトの名無しさん (アウウィフ FFa3-tgR8)
2020/01/13(月) 16:31:54.68ID:axFuJyFlF 断片化だろ
しばらく待つことに何の意味も無い
しばらく待つことに何の意味も無い
970963 (ワッチョイ 5f02-tgR8)
2020/01/13(月) 16:37:34.93ID:JUx858UH0 >>967-969
やっぱり断片化ですか… 一旦使用量50MBまで減らしたら
断片化がかなり無くなったので確保が上手く行ったという事になりますかね。
更にうまくメモリ管理するか64bit化も考えようと思います。ありがとうございました。
やっぱり断片化ですか… 一旦使用量50MBまで減らしたら
断片化がかなり無くなったので確保が上手く行ったという事になりますかね。
更にうまくメモリ管理するか64bit化も考えようと思います。ありがとうございました。
971デフォルトの名無しさん (アウウィフ FFa3-tgR8)
2020/01/13(月) 17:38:12.46ID:axFuJyFlF 細切れにならないように自分ででかく確保して
その中をさらに自分で管理すると良い
その中をさらに自分で管理すると良い
972デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/13(月) 19:01:20.39ID:JUx858UH0 >>971
もっと効率よくやるならその方法がやっぱいいですね。ありがとうございます。
もっと効率よくやるならその方法がやっぱいいですね。ありがとうございます。
973デフォルトの名無しさん (ワッチョイ 7f79-ZE0I)
2020/01/13(月) 22:56:26.88ID:ke+wtNqb0 そこまで大きいデータならオンメモリで処理する手段は捨てるなあ
間違えて数GBのISOファイル読み込んじゃってPC固まったとかそういう挙動は許されざるよ
間違えて数GBのISOファイル読み込んじゃってPC固まったとかそういう挙動は許されざるよ
974デフォルトの名無しさん (ワッチョイ 7f63-lB9F)
2020/01/13(月) 23:07:18.29ID:Yl8Am7cI0 無理に32ビットでやらなくても良いのではないか?
975デフォルトの名無しさん (ワッチョイ 7fa5-sEAu)
2020/01/14(火) 11:56:44.05ID:AM8t1N0H0 要するにブロックを詰めるパズルゲームだろ
976デフォルトの名無しさん (ワッチョイ 7f36-///2)
2020/01/14(火) 16:16:37.73ID:MAaOflfD0 メモリをポインタではなくハンドルで管理すれば
メモリコンパクションができる
ただし、そんなことをしなくても実容量を超えるメモリが提供できるようにするために仮想記憶があるんだが
メモリコンパクションができる
ただし、そんなことをしなくても実容量を超えるメモリが提供できるようにするために仮想記憶があるんだが
977デフォルトの名無しさん (ワッチョイ 7f01-qx2z)
2020/01/14(火) 16:30:41.75ID:RxBpnTJ90 実容量を超えるメモリーを使いたいだけならオーバーレイとかセグメント方式のメモリー管理機構とか色々あるが
978デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 17:25:51.38ID:Ae/uveiQ0979デフォルトの名無しさん (ワッチョイ df35-e1y7)
2020/01/14(火) 17:28:42.27ID:Cb2SImdL0 あるけど
980蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd9f-fZVk)
2020/01/14(火) 17:37:38.20ID:JKuyIKmvd メインメモリとは別の記憶媒体に退避しておけば、実質使える?かな?
981デフォルトの名無しさん (ワッチョイ 7f63-lB9F)
2020/01/14(火) 17:46:20.96ID:SgRnb4BR0 >>978
その理屈だと、4GBを超えるファイルは扱えなくことになる
その理屈だと、4GBを超えるファイルは扱えなくことになる
982デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 18:01:20.77ID:vjAz2zAO0 32bit Windows の普通のプロセスのアドレス空間は2GB
OSやAPIを改造してFARポインタを扱えるようにするか
ロックアンロック方式のメモリ管理を自力で実装するか
そんなことをするよりは
素直にアプリのメモリ確保の方法を変えるのが早い
もちろん64bit化出来るならそれが一番
OSやAPIを改造してFARポインタを扱えるようにするか
ロックアンロック方式のメモリ管理を自力で実装するか
そんなことをするよりは
素直にアプリのメモリ確保の方法を変えるのが早い
もちろん64bit化出来るならそれが一番
983デフォルトの名無しさん (ワッチョイ 7f01-qx2z)
2020/01/14(火) 18:05:55.14ID:RxBpnTJ90984デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 18:13:13.94ID:Ae/uveiQ0985デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 18:15:32.64ID:Ae/uveiQ0 >>980-981
そうやっても必要な時にメインメモリに読み込んで使う必要がないですかね?
しかも上手くやりくりして読み込んでもそこで断片化の問題もありますし。
その場合プールを自分で管理するしかなさそうな気がします。途中でその話をしてましたが。
そうやっても必要な時にメインメモリに読み込んで使う必要がないですかね?
しかも上手くやりくりして読み込んでもそこで断片化の問題もありますし。
その場合プールを自分で管理するしかなさそうな気がします。途中でその話をしてましたが。
986デフォルトの名無しさん (ワッチョイ df2d-G18V)
2020/01/14(火) 18:31:15.17ID:jSZPoIDP0 32bitOSで4GB以上のオブジェクトをメモリに読み込んでどうにかしろ、と言われたら。
最初に検討するのはファイルマッピングだろうなあ。それ以外だとやる気がおきない。
APIを叩く必要があるので、WindowsならCreateFileMappingとかMapViewOfFileとか。
最初に検討するのはファイルマッピングだろうなあ。それ以外だとやる気がおきない。
APIを叩く必要があるので、WindowsならCreateFileMappingとかMapViewOfFileとか。
987デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 18:32:25.86ID:Ae/uveiQ0 >>986
ありがとうございます。調べてみますね。
ありがとうございます。調べてみますね。
988デフォルトの名無しさん (ワッチョイ 7f01-qx2z)
2020/01/14(火) 18:32:29.78ID:RxBpnTJ90989蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd9f-fZVk)
2020/01/14(火) 18:39:12.20ID:JKuyIKmvd どうしてそんなデカいデータが必要なんだろう。遺伝子情報でも操作してんのかな?
990デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 18:41:07.63ID:Ae/uveiQ0 >>988
>いやいや、オーバーレイとかバンク切替とかは半分ネタだから〜
ネタでしたかw 了解しました。
>アホほどでかいサイズでなきゃそれほど問題にならないよ
細かいのと途中で500MBくらいを二つとかがあるので時々断片化のせいでmallocが失敗するんですよねえ…
>どうしてもでかい領域を確保/解放する必要あるならそれしかないように思う
とりあえず作業領域様に500MBの領域を確保して再利用すると他の部分でmalloc失敗はなかったですね。
仰るように小さい領域はかなり確保しても問題にならないですね。大きな領域用にメモリスペースを予め確保しておく方法がよいかもしれないと思いました。
>いやいや、オーバーレイとかバンク切替とかは半分ネタだから〜
ネタでしたかw 了解しました。
>アホほどでかいサイズでなきゃそれほど問題にならないよ
細かいのと途中で500MBくらいを二つとかがあるので時々断片化のせいでmallocが失敗するんですよねえ…
>どうしてもでかい領域を確保/解放する必要あるならそれしかないように思う
とりあえず作業領域様に500MBの領域を確保して再利用すると他の部分でmalloc失敗はなかったですね。
仰るように小さい領域はかなり確保しても問題にならないですね。大きな領域用にメモリスペースを予め確保しておく方法がよいかもしれないと思いました。
991デフォルトの名無しさん (ワッチョイ 7f63-lB9F)
2020/01/14(火) 18:45:58.67ID:SgRnb4BR0992デフォルトの名無しさん (ワッチョイ 5f63-hsX7)
2020/01/14(火) 18:48:32.63ID:iQtyfXTR0 もう64bitが当たり前になってかなり経つ昨今、そんな案件ごろごろある
映像をリアルタイムでごにょごにょとか言われたら簡単にギガ単位のメモリ使う
稀有な例では無いけど32bit環境でやれって言われたらヤダナとは思う
映像をリアルタイムでごにょごにょとか言われたら簡単にギガ単位のメモリ使う
稀有な例では無いけど32bit環境でやれって言われたらヤダナとは思う
993デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 18:55:05.49ID:Ae/uveiQ0994蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd9f-fZVk)
2020/01/14(火) 19:02:49.75ID:JKuyIKmvd そろそろ次スレ
995デフォルトの名無しさん (ワッチョイ 7f79-G18V)
2020/01/14(火) 19:20:01.41ID:2s3ZuCDc0 8k240Hz動画だと1秒キャッシュするだけでメモリ消費24GBか
まあ今時わざわざCを使うなんて極限環境だけだからそういうこともあるよね
まあ今時わざわざCを使うなんて極限環境だけだからそういうこともあるよね
996デフォルトの名無しさん (ワッチョイ 7f63-lB9F)
2020/01/14(火) 19:23:27.41ID:SgRnb4BR0997デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 19:27:10.09ID:Ae/uveiQ0998デフォルトの名無しさん (ワッチョイ 7f63-lB9F)
2020/01/14(火) 19:33:22.57ID:SgRnb4BR0999デフォルトの名無しさん (ワッチョイ 7f36-///2)
2020/01/14(火) 19:45:37.22ID:MAaOflfD01000デフォルトの名無しさん (ワッチョイ 7fc5-G18V)
2020/01/14(火) 19:50:12.26ID:gkNCY9ap0 for (int i = 0; i < 1000; i++) {
puts("1000");
}
puts("1000");
}
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 149日 20時間 47分 30秒
新しいスレッドを立ててください。
life time: 149日 20時間 47分 30秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★5 [ぐれ★]
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 高市内閣「支持」64%「不支持」19% NHK世論調査 ★2 [少考さん★]
- 【速報】気象庁がマグニチュード7.5に修正しました [ニョキニョキ★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- かっぱ寿司←こいつが天下取れなかった理由
- 何でデートでリュック背負って来たらダメなの?
- 有名配信者「サッカーで野蛮なのは日本の黄色い猿だけ」
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 巨大地震 [957955821]
- 🖐( -᷄,ὢ)知らないんで……
