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/
前
http://mevius.2ch.net/test/read.cgi/tech/1494508803/
http://www.geocities.jp/c_cpp_cs/about_c/
探検
C言語なら俺に聞け 141 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/07/17(月) 21:06:47.63ID:J4JGo3XO448デフォルトの名無しさん
2017/07/29(土) 15:15:38.90ID:ULoSSJ2b >>447
それだけではわからないよ、実際に union の Child や Double の値を設定するところを見たいものだ
個人的にはうまくいかないと思っている
たぶんマクロを使うことになるし、マクロを使うんだったら共用体なんか使わないほうがよかった、という結果になりそう
それだけではわからないよ、実際に union の Child や Double の値を設定するところを見たいものだ
個人的にはうまくいかないと思っている
たぶんマクロを使うことになるし、マクロを使うんだったら共用体なんか使わないほうがよかった、という結果になりそう
449デフォルトの名無しさん
2017/07/29(土) 15:26:51.26ID:14mINgXT 何がわからないかわからない
450デフォルトの名無しさん
2017/07/29(土) 15:35:05.11ID:14mINgXT unionは、
普通に同時使用しないメンバに対して使われることもあるが
実際に使う環境を把握した上で
同じアドレスに対して複数のアクセス方法を
用いる場合にも良く使われる
一番あるのが、レジスタの定義
チップメーカーなどがヘッダとして提供したりする
ビットフィールドアクセスやワードアクセスなど、
複数のアクセス方法を使えるようにするため
あとは複数の型へのポインタをunionで定義したり
普通に同時使用しないメンバに対して使われることもあるが
実際に使う環境を把握した上で
同じアドレスに対して複数のアクセス方法を
用いる場合にも良く使われる
一番あるのが、レジスタの定義
チップメーカーなどがヘッダとして提供したりする
ビットフィールドアクセスやワードアクセスなど、
複数のアクセス方法を使えるようにするため
あとは複数の型へのポインタをunionで定義したり
451デフォルトの名無しさん
2017/07/29(土) 15:36:30.30ID:14mINgXT >>364は環境に依存しない、
普通の排他メンバの使い方
普通の排他メンバの使い方
452デフォルトの名無しさん
2017/07/29(土) 15:41:58.78ID:14mINgXT メモリをケチる為のunionは
時代とともに使う頻度は減っているが
複数のアクセス方法の為のunionは普通に使われる
もちろん環境依存コード
例えばWindows APIのLARGE_INTEGERも
この使い方のunion
時代とともに使う頻度は減っているが
複数のアクセス方法の為のunionは普通に使われる
もちろん環境依存コード
例えばWindows APIのLARGE_INTEGERも
この使い方のunion
453デフォルトの名無しさん
2017/07/29(土) 15:46:20.38ID:gp3BUyJn アセンブラじゃ共用が当たり前。だからCにある。それだけ。
x86のレジスタはまんま共用体。ワイヤー数、バス幅に制限があるんだから共用して当たり前。
本来、ハードの仕様を実装するためのもの。
x86のレジスタはまんま共用体。ワイヤー数、バス幅に制限があるんだから共用して当たり前。
本来、ハードの仕様を実装するためのもの。
454デフォルトの名無しさん
2017/07/29(土) 16:09:53.11ID:N+YJafLA なんか違う
455デフォルトの名無しさん
2017/07/29(土) 16:11:44.21ID:gxbujSGs >>449
まず大前提としてコードを再利用する仮定だ。
ベタにコピペした場合は関係ない。
>>364のunionは今なら継承で実装されることが多いはずだ。
当然Dataはテンプレート化され、
Previous,Nextへの書き込みは基底クラス、Dataへの書き込みは派生クラスに配置される。
これがC++的解決。
unionだと一見何でも書けるように見えるが、
実際は派生型を手動で扱っているのと同等なので、
共通書き込みルーチンを用意できない。これが>>448の言う、
> 個人的にはうまくいかないと思っている
で、俺もそう思う。
マクロを強引に使えば出来るかもしれんが、それなら上記C++的解決の方がマシ。
>>452
> メモリをケチる為のunionは
> 時代とともに使う頻度は減っているが
これって>>364の使い方、ということでいいのか?
それならC++的に言えば、
糞だからクラステンプレートと継承で対応できるようにして廃止した、というところだろう。
> 複数のアクセス方法の為のunionは普通に使われる
多分これ以外のunionは必要ない。
そして俺はこれについてはリート/ライトで型が違っても値が保証されていると認識している。
(一応言っておくが同じ値が読めるという意味ではない。《>>446の馬鹿は多分この勘違い》
プログラマから見て値が確定的、という意味だ。)
仕様に詳しい奴がいればよろしく。
まず大前提としてコードを再利用する仮定だ。
ベタにコピペした場合は関係ない。
>>364のunionは今なら継承で実装されることが多いはずだ。
当然Dataはテンプレート化され、
Previous,Nextへの書き込みは基底クラス、Dataへの書き込みは派生クラスに配置される。
これがC++的解決。
unionだと一見何でも書けるように見えるが、
実際は派生型を手動で扱っているのと同等なので、
共通書き込みルーチンを用意できない。これが>>448の言う、
> 個人的にはうまくいかないと思っている
で、俺もそう思う。
マクロを強引に使えば出来るかもしれんが、それなら上記C++的解決の方がマシ。
>>452
> メモリをケチる為のunionは
> 時代とともに使う頻度は減っているが
これって>>364の使い方、ということでいいのか?
それならC++的に言えば、
糞だからクラステンプレートと継承で対応できるようにして廃止した、というところだろう。
> 複数のアクセス方法の為のunionは普通に使われる
多分これ以外のunionは必要ない。
そして俺はこれについてはリート/ライトで型が違っても値が保証されていると認識している。
(一応言っておくが同じ値が読めるという意味ではない。《>>446の馬鹿は多分この勘違い》
プログラマから見て値が確定的、という意味だ。)
仕様に詳しい奴がいればよろしく。
456デフォルトの名無しさん
2017/07/29(土) 16:26:09.19ID:mj0H/MXI 初期化リストの話は終わったのか?
457デフォルトの名無しさん
2017/07/29(土) 16:38:11.08ID:Y1dtbxTh >>456
今union、次extern
今union、次extern
458デフォルトの名無しさん
2017/07/29(土) 16:51:08.52ID:ULoSSJ2b459デフォルトの名無しさん
2017/07/29(土) 17:00:18.71ID:ULoSSJ2b >>449 全部がわからない:−)
>>364 の方針で >>357 を書いてくれる人はいないものか
ちょっと想像がつかないんだ
void *data 派であるけれどもマクロの方はわかる、工藤智行氏の書籍にてさんざんやっていたからね https://www.amazon.co.jp/dp/4774100544/
>>364 の方針で >>357 を書いてくれる人はいないものか
ちょっと想像がつかないんだ
void *data 派であるけれどもマクロの方はわかる、工藤智行氏の書籍にてさんざんやっていたからね https://www.amazon.co.jp/dp/4774100544/
460デフォルトの名無しさん
2017/07/29(土) 17:05:21.12ID:zJVnUUbX >>455
よく知らないなら黙ってりゃいいのに w
よく知らないなら黙ってりゃいいのに w
461デフォルトの名無しさん
2017/07/29(土) 17:05:34.42ID:EGnuLLJd 共用体なんて使うとしたら、sdl_eventと同じように、enumとセットだろ〜?
462デフォルトの名無しさん
2017/07/29(土) 17:29:39.44ID:Xv3aO8mX トリコロシ
463デフォルトの名無しさん
2017/07/29(土) 17:35:09.29ID:CXR2+t0L COBOLだとレベル番号で同じことが出来るね
464デフォルトの名無しさん
2017/07/29(土) 17:35:29.83ID:zJVnUUbX465デフォルトの名無しさん
2017/07/29(土) 17:37:42.13ID:14mINgXT466デフォルトの名無しさん
2017/07/29(土) 17:41:42.52ID:gxbujSGs467デフォルトの名無しさん
2017/07/29(土) 17:45:12.94ID:gp3BUyJn JavaもC#もハナからOSやドライバを書く気ない。もちろんPascalで書く馬鹿もない。頓珍漢。ナンセンス。
468デフォルトの名無しさん
2017/07/29(土) 17:45:49.99ID:eThbJX9n #include <stdio.h>
typedef union {
unsigned char byte;
struct {
char bit0:1;
char bit1:1;
char bit2:1;
char bit3:1;
char bit4:1;
char bit5:1;
char bit6:1;
char bit7:1;
} bit;
} SFR;
int main(void) {
SFR sfr;
sfr.byte = 0x00; // All Clear
sfr.bit.bit7 = 1; // bit7 set
printf("%x", sfr); // sfr = 0x80
return 0;
}
typedef union {
unsigned char byte;
struct {
char bit0:1;
char bit1:1;
char bit2:1;
char bit3:1;
char bit4:1;
char bit5:1;
char bit6:1;
char bit7:1;
} bit;
} SFR;
int main(void) {
SFR sfr;
sfr.byte = 0x00; // All Clear
sfr.bit.bit7 = 1; // bit7 set
printf("%x", sfr); // sfr = 0x80
return 0;
}
469デフォルトの名無しさん
2017/07/29(土) 17:50:31.58ID:14mINgXT charが符号無しの環境?
470デフォルトの名無しさん
2017/07/29(土) 17:55:22.53ID:gxbujSGs >>467
JavaOSェ、、、
ただまあ、ハードが見えるレベルをC以外の言語で書くのは狂気の沙汰なのは同意する。
とはいえ、旧来のイベントオブジェクトがunionで出来ているのは、
・それがCの時代だったから
・古いから
であって、便利だからではない。
実際、新しいAPIは全部継承で実装されてるだろ。そういうことだよ。
JavaOSェ、、、
ただまあ、ハードが見えるレベルをC以外の言語で書くのは狂気の沙汰なのは同意する。
とはいえ、旧来のイベントオブジェクトがunionで出来ているのは、
・それがCの時代だったから
・古いから
であって、便利だからではない。
実際、新しいAPIは全部継承で実装されてるだろ。そういうことだよ。
471デフォルトの名無しさん
2017/07/29(土) 17:58:59.45ID:zJVnUUbX >>466
> C#も共用体は廃止済み。
何でこんな知識量でドヤれるんだろう? w
http://smdn.jp/programming/netfx/struct/1_structlayout_fieldoffset/#FieldOffsetAttribute
> C#も共用体は廃止済み。
何でこんな知識量でドヤれるんだろう? w
http://smdn.jp/programming/netfx/struct/1_structlayout_fieldoffset/#FieldOffsetAttribute
472デフォルトの名無しさん
2017/07/29(土) 18:01:14.53ID:14mINgXT 強要隊に親を殺された?
473デフォルトの名無しさん
2017/07/29(土) 18:01:47.45ID:gxbujSGs474デフォルトの名無しさん
2017/07/29(土) 18:04:09.87ID:14mINgXT 実際に共用体はいろいろで使われているわけで
475デフォルトの名無しさん
2017/07/29(土) 18:08:03.01ID:FQLMCr49 争いは同じレベルの者同士でしかうんたらかんたら
476デフォルトの名無しさん
2017/07/29(土) 18:10:06.13ID:vlC06Wfm union 使っても
いいじゃないか
C言語だもの
いいじゃないか
C言語だもの
477デフォルトの名無しさん
2017/07/29(土) 18:10:09.26ID:zJVnUUbX >>473
お前の糞職場は知らんけどMSはレガシー用なんて言ってないぞ
恥の上塗りかっこ悪 w
https://msdn.microsoft.com/en-us/library/system.runtime.interopservices.fieldoffsetattribute(v=vs.110).aspx
お前の糞職場は知らんけどMSはレガシー用なんて言ってないぞ
恥の上塗りかっこ悪 w
https://msdn.microsoft.com/en-us/library/system.runtime.interopservices.fieldoffsetattribute(v=vs.110).aspx
478デフォルトの名無しさん
2017/07/29(土) 18:17:23.76ID:gxbujSGs479デフォルトの名無しさん
2017/07/29(土) 18:26:02.72ID:eThbJX9n C言語での組込み開発では共用体は普通に使われてる
>>468で示唆したような特殊機能レジスタの多重定義などが代表例
>>468で示唆したような特殊機能レジスタの多重定義などが代表例
480デフォルトの名無しさん
2017/07/29(土) 18:26:39.61ID:vlC06Wfm レガC
481デフォルトの名無しさん
2017/07/29(土) 18:27:18.82ID:14mINgXT482デフォルトの名無しさん
2017/07/29(土) 18:27:46.17ID:vlC06Wfm483デフォルトの名無しさん
2017/07/29(土) 18:28:35.21ID:14mINgXT >>479
charにunsignedが無いのが気になってるわけだが
charにunsignedが無いのが気になってるわけだが
484デフォルトの名無しさん
2017/07/29(土) 18:29:51.58ID:zJVnUUbX485デフォルトの名無しさん
2017/07/29(土) 18:30:55.63ID:gxbujSGs486デフォルトの名無しさん
2017/07/29(土) 18:32:39.97ID:eThbJX9n487デフォルトの名無しさん
2017/07/29(土) 18:33:12.58ID:vlC06Wfm >>481
そうそう。わかってて使うなら gogo もありだ。
ていうかC言語だと使わないと変な書き方になってかえって読み辛くなることあるな。
try catch みたいな例外処理が書けないから。複数個所でエラーが出る可能性が
ある場合に処理を飛び越えて先に進ませる方法が for(;;) ブロックの中で break
使うぐらいしかなかったりして、ループでないのに for (;;) 使うぐらいなら goto 使った
方がまだ分かり易い。
そうそう。わかってて使うなら gogo もありだ。
ていうかC言語だと使わないと変な書き方になってかえって読み辛くなることあるな。
try catch みたいな例外処理が書けないから。複数個所でエラーが出る可能性が
ある場合に処理を飛び越えて先に進ませる方法が for(;;) ブロックの中で break
使うぐらいしかなかったりして、ループでないのに for (;;) 使うぐらいなら goto 使った
方がまだ分かり易い。
488デフォルトの名無しさん
2017/07/29(土) 18:34:01.67ID:14mINgXT char, unsigned char, signed char
この辺は規格がいまいち
文字をunsignedにしなかったのもいまいち
あとは演算子の優先順位にも不満がある
ビット演算が弱すぎる
代入が = / 比較が ==
なのもいまいち
いろんな歴史的な理由があるんだろうけど
この辺は規格がいまいち
文字をunsignedにしなかったのもいまいち
あとは演算子の優先順位にも不満がある
ビット演算が弱すぎる
代入が = / 比較が ==
なのもいまいち
いろんな歴史的な理由があるんだろうけど
489デフォルトの名無しさん
2017/07/29(土) 18:34:26.21ID:zJVnUUbX >>481
> 使いどころでは使えって話
まあそういうことだね
環境も目的も制約も様々だから絶対unionでないとダメとかunionはレガシーしか使っちゃダメとか言う奴はたいていちょっとアレな人なんだと思う
まあ引っ込みつかなくなっちゃったんだろうね
> 使いどころでは使えって話
まあそういうことだね
環境も目的も制約も様々だから絶対unionでないとダメとかunionはレガシーしか使っちゃダメとか言う奴はたいていちょっとアレな人なんだと思う
まあ引っ込みつかなくなっちゃったんだろうね
490デフォルトの名無しさん
2017/07/29(土) 18:35:03.24ID:14mINgXT491デフォルトの名無しさん
2017/07/29(土) 18:36:30.47ID:14mINgXT gogo
MP3関連のツールか?
MP3関連のツールか?
492デフォルトの名無しさん
2017/07/29(土) 18:54:34.75ID:F0OdFQYT493デフォルトの名無しさん
2017/07/29(土) 19:02:45.32ID:A0tSwWs4 バークレーソケットのソケットアドレス等で使わされてる感じだけど
自分から積極的に union を記述することは少ないな
自分から積極的に union を記述することは少ないな
494デフォルトの名無しさん
2017/07/29(土) 19:18:41.24ID:gxbujSGs495デフォルトの名無しさん
2017/07/29(土) 19:43:57.40ID:zJVnUUbX 反論できなくなってエアプとか w
分かりやすすぎるだろ
分かりやすすぎるだろ
496デフォルトの名無しさん
2017/07/29(土) 20:48:24.50ID:vlC06Wfm エアプってなに?
497デフォルトの名無しさん
2017/07/29(土) 21:21:36.23ID:VkCqDRe3 エアプレーン
498デフォルトの名無しさん
2017/07/29(土) 21:34:56.85ID:vlC06Wfm エアーおならプ
499デフォルトの名無しさん
2017/07/29(土) 21:53:33.37ID:qAu/jA2x >>468
ANSI C 規格への Microsoft 拡張機能を使用すると、ビット フィールドに対して char および long 型 (Signed と unsigned の両方) が許されます。
ANSI C 規格への Microsoft 拡張機能を使用すると、ビット フィールドに対して char および long 型 (Signed と unsigned の両方) が許されます。
500デフォルトの名無しさん
2017/07/29(土) 23:41:43.43ID:KxGqyxM3 知らない書き方だと思ったら、MSのCコンパイラの独自仕様なのか
どうやらそのビットフィールドをchar境界に制約するものみたいだけど、
こういう書き方だとビットフィールドの幅に見えて気持ち悪い
どうやらそのビットフィールドをchar境界に制約するものみたいだけど、
こういう書き方だとビットフィールドの幅に見えて気持ち悪い
501デフォルトの名無しさん
2017/07/29(土) 23:46:26.91ID:14mINgXT マイクロソフト以外でも結構良くある
型指定可能なコンパイラ
enumの型指定とかも
型指定可能なコンパイラ
enumの型指定とかも
502デフォルトの名無しさん
2017/07/29(土) 23:49:52.99ID:14mINgXT signedとunsignedはビットフィールドでも意味がある
1bitでsignedだと、符号ビットしか存在しない
値でいうと 0と-1
1bitでsignedだと、符号ビットしか存在しない
値でいうと 0と-1
503デフォルトの名無しさん
2017/07/29(土) 23:50:32.30ID:14mINgXT >>486の「どうでもいい」の意味が不明
504デフォルトの名無しさん
2017/07/30(日) 00:02:03.96ID:1+DcPeTw 1bitで表現できるのは0か1しかないのでは?
意味的には-1だろうが値としては1以外に表現する方法がない
意味的には-1だろうが値としては1以外に表現する方法がない
505デフォルトの名無しさん
2017/07/30(日) 00:25:20.56ID:FGe2lUf3 sizeof(int)==4とすると
468のsizeof(SFR)==1だが
468のcharをintに変えると sizef(SFR)==4 になる
(略)
アクセス違反でbitfieldが使えん可能性あり
468のsizeof(SFR)==1だが
468のcharをintに変えると sizef(SFR)==4 になる
(略)
アクセス違反でbitfieldが使えん可能性あり
506デフォルトの名無しさん
2017/07/30(日) 02:07:11.27ID:LfAaUMEW >>504
問題になるのは保存時じゃなくて読み出し時
問題になるのは保存時じゃなくて読み出し時
507デフォルトの名無しさん
2017/07/30(日) 02:36:29.18ID:FQwxQ4LP 初学者なんだが教えて欲しい
状況:作ったプログラムが思うように動かないから途中の値をprintfで出力して検証中
コードの内容を大雑把に書くと
A[1] = 12
・・・
for( j = x - 1; j >= 0 ,--j ) (jは最初1)
・・・
if ( j != 0 )
printf( "a1=%d, j=%d\n", A[j], j )
if
・・・
else
if
printf( "a2=%d, j=%d\n", A[j], j )
・・・
みたいな処理をさせると出力結果が
a1=12, j=1
a2=0, j=1
階層が深くなると値が変わるんだが、何が原因かわかる人いる?
状況:作ったプログラムが思うように動かないから途中の値をprintfで出力して検証中
コードの内容を大雑把に書くと
A[1] = 12
・・・
for( j = x - 1; j >= 0 ,--j ) (jは最初1)
・・・
if ( j != 0 )
printf( "a1=%d, j=%d\n", A[j], j )
if
・・・
else
if
printf( "a2=%d, j=%d\n", A[j], j )
・・・
みたいな処理をさせると出力結果が
a1=12, j=1
a2=0, j=1
階層が深くなると値が変わるんだが、何が原因かわかる人いる?
508デフォルトの名無しさん
2017/07/30(日) 02:41:51.54ID:pLyoXQEm 原因はバグ。これ以上は再現するソースコードがないと分からない
509デフォルトの名無しさん
2017/07/30(日) 02:45:37.97ID:LfAaUMEW 変な状態が発生する状態を保ったまま
処理を削っていく
削っていって発生しなくなったら
その削ったところに何かヒントがあるかも
1レスに収まる範囲になったらここにすべてアップ
処理を削っていく
削っていって発生しなくなったら
その削ったところに何かヒントがあるかも
1レスに収まる範囲になったらここにすべてアップ
510デフォルトの名無しさん
2017/07/30(日) 03:02:39.88ID:FQwxQ4LP そんなに簡単にバグるものかと思って聞いてみたけど、汚ねえプログラムを添削してもらうのも申し訳ないからそういうものだと納得するよ、thx
511デフォルトの名無しさん
2017/07/30(日) 03:29:48.70ID:KxWScrhl >そんなに簡単にバグるものかと思って聞いてみたけど
次はコンパイラのバグとか言い出して大騒ぎして
そのうち人間のいい加減さに絶望する
普段から人間がどれだけ間違えてるか思い知るがいい
次はコンパイラのバグとか言い出して大騒ぎして
そのうち人間のいい加減さに絶望する
普段から人間がどれだけ間違えてるか思い知るがいい
512デフォルトの名無しさん
2017/07/30(日) 04:54:25.66ID:0PJrZm1n >>507
初心者がやりそうな間違い。
1. 配列の A の要素数が足りない。
2. A を int *A; 等と宣言しておきながらメモリ確保していない。
3. メモリ確保しているがバイト数が足りない。
4. if 文を多重に使っているが階層を誤解している。
5. 自分で変数や配列の内容を書き換えている事に気付いていない。
4は例えば if (...) ...; if (...) ...; else ...; のようになっている場合に if (...) { ...; if (...) ...; else ...; } となると勘違いしている場合。
実際は if (...) { ...; } if (...) { ...; } else { ...; } になって最初の if と次の if は別物。
インデントがおかしいと騙される。しかしCコンパイラはインデントなど見ていない。
初心者がやりそうな間違い。
1. 配列の A の要素数が足りない。
2. A を int *A; 等と宣言しておきながらメモリ確保していない。
3. メモリ確保しているがバイト数が足りない。
4. if 文を多重に使っているが階層を誤解している。
5. 自分で変数や配列の内容を書き換えている事に気付いていない。
4は例えば if (...) ...; if (...) ...; else ...; のようになっている場合に if (...) { ...; if (...) ...; else ...; } となると勘違いしている場合。
実際は if (...) { ...; } if (...) { ...; } else { ...; } になって最初の if と次の if は別物。
インデントがおかしいと騙される。しかしCコンパイラはインデントなど見ていない。
513デフォルトの名無しさん
2017/07/30(日) 04:59:02.25ID:9ZftmVJd --j 最近は前置が流行ってるのか?
514デフォルトの名無しさん
2017/07/30(日) 05:07:33.79ID:7dS2HrxN じゃあ俺のあてずっぽうの勘だと主たる原因はフォントサイズが小さすぎること
メインの原因はA[i]が紛れ込んでいること
メインの原因はA[i]が紛れ込んでいること
515デフォルトの名無しさん
2017/07/30(日) 05:21:48.22ID:0PJrZm1n516デフォルトの名無しさん
2017/07/30(日) 05:50:22.55ID:3UqYvyNk517デフォルトの名無しさん
2017/07/30(日) 06:32:09.81ID:bW/sP0k9518デフォルトの名無しさん
2017/07/30(日) 06:41:47.40ID:9ZftmVJd オーバロードした++やイテレータは前置と後置で速度が違うのか。後置使うやつがいなくなるじゃないか。
C++は欠陥品だな。++Cって名前にしろよ。
C++は欠陥品だな。++Cって名前にしろよ。
519デフォルトの名無しさん
2017/07/30(日) 07:03:49.82ID:1+DcPeTw520デフォルトの名無しさん
2017/07/30(日) 07:39:01.94ID:bW/sP0k9521デフォルトの名無しさん
2017/07/30(日) 07:40:09.47ID:9ZftmVJd オートインクリメントってなんだ?
z80や6809にそんなのあったか?
z80や6809にそんなのあったか?
522デフォルトの名無しさん
2017/07/30(日) 07:42:23.87ID:9ZftmVJd なんだ、ブロック転送のことか。
523デフォルトの名無しさん
2017/07/30(日) 08:18:53.67ID:1+DcPeTw Z80と6809でスタックポインタを弄るときのPUSH/POPでポインタの増減が前置後置逆になってたはず
524デフォルトの名無しさん
2017/07/30(日) 08:36:50.77ID:1+DcPeTw 少し調べてみたらやはり逆っぽい
C言語風に表現すれば
6809のPUSHは前置 *--SP、POPは後置 *SP++
Z80のPUSHは後置 *SP--、POPは前置 *++SP
C言語風に表現すれば
6809のPUSHは前置 *--SP、POPは後置 *SP++
Z80のPUSHは後置 *SP--、POPは前置 *++SP
525デフォルトの名無しさん
2017/07/30(日) 09:05:35.12ID:bW/sP0k9 スタックポインタを意識してCのコードに--rとか書かねえよ
526デフォルトの名無しさん
2017/07/30(日) 13:04:06.19ID:0PJrZm1n ま、そういうのは最近のコンパイラなら最適化で跡形もなく消えちゃう事もあるので普通は考えても意味ないと思う。
527デフォルトの名無しさん
2017/07/30(日) 13:29:40.49ID:bW/sP0k9 そういう問題じゃねえんだよ
話についてこれないならROMってろ
話についてこれないならROMってろ
528デフォルトの名無しさん
2017/07/30(日) 14:11:56.37ID:W8z6HKGT C言語始めるためにいろんなサイトを転々としてVScodeとかVS2017とかをインストールしてみたんだけど訳がわからん
サイトに沿って設定とかしたけどどうすればいいかわからなくてどうしょうもない
Javaも少しやっててメモ帳に書いてたんだがあれくらい簡単じゃないのか
つまりどうしたいかというと
助けてくださいお願いします
サイトに沿って設定とかしたけどどうすればいいかわからなくてどうしょうもない
Javaも少しやっててメモ帳に書いてたんだがあれくらい簡単じゃないのか
つまりどうしたいかというと
助けてくださいお願いします
529デフォルトの名無しさん
2017/07/30(日) 14:31:49.48ID:0PJrZm1n >>528
Linux インストールしちゃえよ
Linux インストールしちゃえよ
530デフォルトの名無しさん
2017/07/30(日) 14:47:05.86ID:bW/sP0k9531デフォルトの名無しさん
2017/07/30(日) 14:48:46.05ID:1+DcPeTw >>528
とりあえずプロジェクトを新規作成して、テンプレートからWin32コンソールアプリケーションを選択、オプションで空のプロジェクトをチェックする
その後、ソースファイルに新しい項目を追加してC++ファイルを選択
この時デフォルトではC++(*.cpp)が選択されるので、気になるなら拡張子を*.cに変更すればC言語のソースが記述できる
とりあえずプロジェクトを新規作成して、テンプレートからWin32コンソールアプリケーションを選択、オプションで空のプロジェクトをチェックする
その後、ソースファイルに新しい項目を追加してC++ファイルを選択
この時デフォルトではC++(*.cpp)が選択されるので、気になるなら拡張子を*.cに変更すればC言語のソースが記述できる
532デフォルトの名無しさん
2017/07/30(日) 15:22:25.39ID:W8z6HKGT >>530
【Java】ゲームプログラミング超入門: http://www.youtube.com/playlist?list=PLJ86MSrhnFKVQPf-E8y0FZKv7uzR4L4Dt
この動画の人にずっとついていってやってた
Part32くらいで少し飽きて一二週間離してて久しぶりにやったら結果が違っててよくわからなくなって別のやつやろうとしてた
【Java】ゲームプログラミング超入門: http://www.youtube.com/playlist?list=PLJ86MSrhnFKVQPf-E8y0FZKv7uzR4L4Dt
この動画の人にずっとついていってやってた
Part32くらいで少し飽きて一二週間離してて久しぶりにやったら結果が違っててよくわからなくなって別のやつやろうとしてた
533デフォルトの名無しさん
2017/07/30(日) 16:31:40.47ID:FGe2lUf3 A[j]のjの型は size_t か?
534デフォルトの名無しさん
2017/07/30(日) 17:51:36.41ID:AatiOL5G 有名な土方プログラマーの、T Umezawa の動画だろw
Java, C# を、テキストエディタで書いて、端末でコンパイルする
Java, C# を、テキストエディタで書いて、端末でコンパイルする
535デフォルトの名無しさん
2017/07/30(日) 18:00:05.83ID:2PlgEyLl >>533
配列のサイズの範囲内ならなんでもいい
配列のサイズの範囲内ならなんでもいい
536デフォルトの名無しさん
2017/07/30(日) 20:43:35.11ID:OOsADo1S >>528
gcc入れろ。
gcc入れろ。
537デフォルトの名無しさん
2017/07/30(日) 22:04:46.57ID:7dPqlOSS tcc オススメ
538デフォルトの名無しさん
2017/07/30(日) 22:18:32.51ID:pLyoXQEm >>528
自分の場合はcygwinでgcc使ってる。インストール楽だし
自分の場合はcygwinでgcc使ってる。インストール楽だし
539デフォルトの名無しさん
2017/07/30(日) 23:12:47.40ID:W8z6HKGT540デフォルトの名無しさん
2017/07/31(月) 00:11:52.08ID:M3mLjUUM clコマンド使えばいいんじゃねえのか
IDEの機能なんて初心者は1%も使えない
普通のエディタでも初心者だと5〜10%くらいの機能しか使えない
IDEの機能なんて初心者は1%も使えない
普通のエディタでも初心者だと5〜10%くらいの機能しか使えない
541デフォルトの名無しさん
2017/07/31(月) 05:37:23.56ID:VZjnFU9V >>539
普通のコマンドプロンプト出して、↓のバッチファイルを実行するとclが使えるようになる。
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
cl your_program.cpp /EHsc
普通のコマンドプロンプト出して、↓のバッチファイルを実行するとclが使えるようになる。
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
cl your_program.cpp /EHsc
542デフォルトの名無しさん
2017/07/31(月) 08:29:21.54ID:XaGlTjBV543デフォルトの名無しさん
2017/07/31(月) 08:29:31.01ID:XaGlTjBV544デフォルトの名無しさん
2017/07/31(月) 08:29:39.14ID:XaGlTjBV545kadesu
2017/07/31(月) 10:32:48.65ID:RVdenN8P Selenium WebDriverでHTTP refererを設定する方法をご教授下さい。
chromeを使用しています。
■やりたい事
http://referer.com/ → http://target.com/
■実装イメージ
options->AddArgument("--referer=http://referer.com/");
driver->Navigate()->GoToUrl("http://target.com/");
■環境
Win7 64bit
visual studio
Chrome driver
chromeを使用しています。
■やりたい事
http://referer.com/ → http://target.com/
■実装イメージ
options->AddArgument("--referer=http://referer.com/");
driver->Navigate()->GoToUrl("http://target.com/");
■環境
Win7 64bit
visual studio
Chrome driver
546デフォルトの名無しさん
2017/07/31(月) 10:37:24.99ID:yrizDXBC547デフォルトの名無しさん
2017/07/31(月) 18:53:16.57ID:Y/tHh3+o >>539
別にVSでも良いけど、差し当たっては新規作成とビルド->実行くらいは覚えんと。
(デジタルネイティブって言葉はどこ行ったんだろう。。。30代の自分が子供の頃でも迷った記憶は無いのに)
新規だけど、何も無いところから初めたい。
新規作成で空の何とか選べば意図通りに行きそう?とか、直感が働くのがデジタルネイティブの筈なんだが。
最初はcppファイルでCの勉強とかでも良いと思う。
むしろその方が型にうるさいから好都合だし。
別にVSでも良いけど、差し当たっては新規作成とビルド->実行くらいは覚えんと。
(デジタルネイティブって言葉はどこ行ったんだろう。。。30代の自分が子供の頃でも迷った記憶は無いのに)
新規だけど、何も無いところから初めたい。
新規作成で空の何とか選べば意図通りに行きそう?とか、直感が働くのがデジタルネイティブの筈なんだが。
最初はcppファイルでCの勉強とかでも良いと思う。
むしろその方が型にうるさいから好都合だし。
548デフォルトの名無しさん
2017/07/31(月) 21:16:14.24ID:v4rHNYrD リアルなプログラミングネイティブなのはベーマガ世代だけだよ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★8 [蚤の市★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 【食】「シャウエッセンは焼くべからず」暗黙のルールを破り売上高過去最高…日本ハム社員たちが「夜味」にかけた情熱 [ぐれ★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 【音楽】松山千春、女性っぽい名前に親恨んだ「名簿には必ず女の方に入ってる。情けなかったりもしたけどね」 [湛然★]
- どこだ?強ええええバキぼんやは????
- ( ´・ω・` )どいてもらえます?
- 【画像】沖縄風蒸しパン
- 【埼玉】34歳無職、置き配📦を盗みまくる!その数、400点!😱 [718678614]
- 福井県民に頭おかしくされて悔しいからスレ立て
- なあ、「石破さんにもう一回やって頂く」って選択肢って…ないか? [976717553]
