C言語なら俺に聞け 149

レス数が900を超えています。1000を超えると表示できなくなるよ。
2018/10/28(日) 22:01:44.38ID:D9Gt7gmT0
!extend:checked:vvvvv:1000:512

次スレを作る時は上記1行をコピーして2行に増やして必ず1行目に入るようにしてください。

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/

※前スレ
C言語なら俺に聞け 148
https://mevius.5ch.net/test/read.cgi/tech/1537347410/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2019/01/08(火) 22:19:56.62ID:oEiIhl5B0
あるかもしれないし、ないかも知れない
そういうソースがあるなら、晒して皆に確かめてもらえ
2019/01/08(火) 23:00:38.10ID:E9NMc6wba
>>801
ある。
多分これからvolatileに関するやりとりが始まる。
2019/01/08(火) 23:28:52.41ID:BZbwJw/70
>>802
最適化したことでおかしくなったと言うわけではないんですが
どうなのかなと気になったもので
具体的にはO2の中のどの最適化でバグが出ることがありますか?
あとgccではなくg++でした
2019/01/08(火) 23:31:24.43ID:BZbwJw/70
>>803
volatileというものに気を付けないといけないわけですか
2019/01/08(火) 23:45:28.12ID:3ZWgvjCS0
>>804
仕様上規定されていない部分は最適化によって挙動が変わることがある。だから不確定な処理や誤った処理を書いていた場合に、これまでたまたま上手く動くコードが生成されていただけで、最適化によって挙動が変わってバグが顕在化することがある。
例えば、評価順序が不確定な処理を書いていたのがたまたま期待通りの順序で実行するコードになっていただけとか、不正なアドレスのメモリを参照や更新してしまっていたがたまたま問題がなかっただけだったとか。
2019/01/09(水) 00:17:56.61ID:BRCoi/pn0
>>803
volatile は一切使わないことにしました…
2019/01/09(水) 00:28:20.37ID:QEOONCVCM
volatileにすべきところでしないから最適化でバグるんだよ
2019/01/09(水) 00:40:32.88ID:BRCoi/pn0
>>808
volatile すべきところ、って具体的にどういうところですか?それは本当に volatile にする必要があるのですか?
2019/01/09(水) 01:08:46.29ID:QEOONCVCM
>>809
メモリマップドIOと
共有メモリマルチプログラミングで
最適化時のアクセス省略防止。
2019/01/09(水) 02:45:48.52ID:cump+mlU0
>>806
ありがとうございます
そうであれば不確定な部分がなければバグはでないということですね
最適化用にプログラムの書き方も変える必要があるのかと思っていました

volatileはライブラリの中で使っていそうですがきっと大丈夫でしょう
2019/01/09(水) 03:15:23.18ID:BRCoi/pn0
>>810
個人的には、memory-maped な世界はよくしらない(インテル系しかしらない…).
shared memory って、特別なことはありましたっけ?マルチスレッドなら排他処理用のオブジェクト(pthread-mutex/cond)を使っておれば問題ないし、fork() の中と外で同じ変数をつつくときは…はて、どうしてたっけ?
813デフォルトの名無しさん (ワッチョイ fb02-cuFO)
垢版 |
2019/01/09(水) 03:28:53.85ID:T8HUoC+c0
そういやvolatileってC言語の場合CPUによってはうまく行かない事がありうるのな。
例えば4バイトの整数にアクセスするとして、そのCPUが2バイトづつしか読み書きできなかったら必ず2回のアクセスになる。
すると上位バイトと下位バイトで取得した時間が違っていたり一度に4バイト全体の内容を書き換えられない。
2019/01/09(水) 04:25:49.36ID:BRCoi/pn0
>>813
そういうのは >>812 のとおり、そのためのカラクリ(pthread等)を使用してアクセスするべきだと思います、裸で触ること自体が発想としてイカレているのではないでしょうか?
2019/01/09(水) 04:49:03.78ID:/QFmT4Vc0
マイコンなどのIO アドレスを、PC 側のメモリのアドレスに関連付けているのだろう(Memory-mapped I/O)。
これで、PC側のアプリでは、PCのメモリを読み書きするだけで、マイコンの操作ができる

PC側のメモリを読むと、マイコン側のメモリから読み込む。
読み込むと、マイコンの電圧が変わって、値が不定か逆などになる

通常は、pull up, pull down 抵抗などで、5V・0V にしているけど、
閾(しきい)値(Threshold)があって、
例えば、1V以下なら0V、4V以上なら5Vと判定される場合、1〜4Vは、不定になる

まあとにかく、読み込むだけで電圧が変わる・リセットされるから、
読み込むだけでも、電圧の状態が変わる

だから、IOアドレスを読むだけでも意味がある・状態を変えているので、
コンパイラで最適化・省略してほしくない!
2019/01/09(水) 05:40:56.66ID:4Rn8lGBj0
>>815
volatileと一切何の関係もねえし
2019/01/09(水) 07:03:03.74ID:nmJLIVr10
いや、「Cのプログラムで変数(あるアドレス)を読むことが、
ハードウェア的には状態リセットの操作になっているから、
読めと指示した場所で必ず読み取り動作を行って欲しい」だから、
volatileの使い方のひとつとして正当でしょ。

ハードウェア的な内幕の説明が少々ぎごちない気がするけどね。
2019/01/09(水) 07:55:50.33ID:YaNn8N94x
>>813
多バイトアクセスがatomicに行われないのはvolatileの守備範囲ではなくinterlockの守備範囲。
なのでCPUによってはvolatileがうまく行われないってのはvolatileに対する名誉毀損になる。
2019/01/09(水) 08:02:53.56ID:/QFmT4Vc0
マイコンなどのIO アドレス(port)を読み書きするには、その装置の手順が決まっている

まず、制御ポートに、読み込むポート番号を教える。
そこで装置を制御できるようにするために、例えば、50μ秒待つ

次に、ポートから読み込む。
読み込まれたポートは、電圧の状態を変える

電気電子的動作の要件・時間が、厳密に決まっている。
ある回路を動作させるときに、回路を切り替えないといけない

電圧の高低で、ある回路の部分を止めて、異なる部分を動作させる(電流を流す)。
そのため、規定の時間よりも、速くアクセスできない
2019/01/09(水) 11:29:26.49ID:4Rn8lGBj0
電流を流すってのはバイポーラの場合だね
今ほとんどのコンピュータがCMOSで電流はゼロアンペアだ
寄生容量で交流成分が漏れたり貫通電流の問題はあるが
それは信号が電流表現ということではない
2019/01/09(水) 18:32:34.88ID:ur1geU61p
>>804
最適化でおかしくなる場合の例としては潜在的バクがある。そしてよく見るのは組み込み系。volatileもそうだがprintfいれたり-O0にすると動作が正常化するってのがある。

volatileの例だと
int* fifo=0x0001;
int data=*fifo;
のようなコードはvolatileつけないと順番入れ替えられたりコードそのものがなくなったりする。

-O0やprintf入れると直る系はキャッシュ周りのこともある。キャッシュを積極的に使うかどうかで、キャッシュを使わない場合に安定する。キャッシュをたくさん使うprintfのような関数を入れると再度積み直しになって安定する。

後者は潜在的なバグで発見が難しいことが多い。プログラミングはわかるけど組み込みを知らない人がやらかすバグの一つ。
2019/01/09(水) 19:37:23.10ID:pHvZAha70
キャッシュ絡みの潜在的なソフトのバグってのは経験ないなぁ。キャッシュが化けるハードのバグなら経験あるけど。
キャッシュ絡みってシノニム問題のこと?
2019/01/09(水) 19:41:27.69ID:G9k7j+QI0
キャシュの話はC言語にかぎらずどの言語でも起こりそう
2019/01/09(水) 20:19:35.23ID:pHvZAha70
ああ、キャッシュ絡みのソフトバグ思い出した。
動的にプログラム入れ替えるソフト作ったときにIキャッシュをクリアし忘れてて誤動作したことあるわ。
Dキャッシュと分離されてる拡張ハーバードアーキテクチャの良い勉強になった思い出。
2019/01/13(日) 00:46:58.72ID:Yl3ShYz90
IMCCOやTecConfのエントリー作品を見る限り、
Cのコードゴルフって10年くらい前と短かさとかが変っていないように思えるんだけど
これはCが成熟しきった(所謂「枯れた」)言語である程度の成長限界があるからなのかな。
それとも凄腕プログラマの興味がPythonやらRubyなんかに移っちゃったのかな。
2019/01/13(日) 01:10:46.51ID:/M42Y9uV0
> コードゴルフ
意味無いから誰も参加しないだけでは
827デフォルトの名無しさん (ワッチョイ 715f-tbRK)
垢版 |
2019/01/13(日) 01:20:23.99ID:zp78LtJW0
>>766
アセンブラとC言語はまったく違うのに何を言っているのか?
828デフォルトの名無しさん (ワッチョイ 715f-tbRK)
垢版 |
2019/01/13(日) 01:23:29.53ID:zp78LtJW0
>>798
あのな、コンピータには文字列という概念がないのだよ。
2019/01/13(日) 01:50:41.81ID:IM9k4xNE0
> それとも凄腕プログラマの興味がPythonやらRubyなんかに移っちゃったのかな。

ハハッ、ナイスジョーク
2019/01/13(日) 10:13:49.80ID:yABfrIyE0
>>828
それを言ったら数値という概念もないよね
人間から見たら数値として扱えるように演算しているだけで
コンピュータにはビットのオンオフしかないよ
2019/01/13(日) 10:20:29.78ID:7BHWGbvy0
>>830
CPUがビット演算しか備えていないならそうかも知れないけど、整数や浮動小数点数の演算を備えているのだから数値の概念はあるだろう。
2019/01/13(日) 10:59:24.10ID:EaFLGn72a
それいったらあるのはせいぜい、アルファベットとか…
833デフォルトの名無しさん (アウアウクー MM45-tbRK)
垢版 |
2019/01/13(日) 11:17:20.34ID:IIjq691iM
>>830
むしろ数値しかない
2019/01/13(日) 11:26:53.62ID:EaFLGn72a
チューリングマシンの説明に数値なんて出てこないでしょ
2019/01/13(日) 11:49:52.93ID:Mw9Ec3URa
>>834
チューリングマシンは計算機のひとつの仮想モデルだけど、いつからそれに限定した話になったの?
そもそもスレ違いだからこれ以上議論する必要はないけど。
2019/01/13(日) 11:56:05.87ID:EaFLGn72a
チューリングマシンでもコンピュータでもなんでもいいけど、記号操作をやってるんです。
数値なんてのはかなり抽象化した話です。
2019/01/13(日) 12:02:55.92ID:QSfXhXiJM
CPU の数値演算はビット列をAND、OR、 NOTの組み合わせで変換してるだけだしね
838デフォルトの名無しさん (ワッチョイ 3af1-goYb)
垢版 |
2019/01/13(日) 12:27:42.01ID:Ov2pIYHC0
まぁ根本的に機械にはビットも数値も文字も文字列も無いわな。電気的にHiかLowかって話だから。
そういう話するスレではないと思うが。
2019/01/13(日) 12:51:37.79ID:gz3n+4+q0
演算器を構成するゲートレベルなら話は別だが、CPUレベルなら整数の加算てのは
ひとつのプリミティブな操作だろう。
2019/01/13(日) 12:52:03.33ID:+ibs1ZYS0
C言語以外の話題になると、俄然盛況になるスレ
2019/01/13(日) 13:19:44.44ID:QvV+lMh50
>>837
3種類もあるのかなあ… NAND または NOR どちらか一方だけじゃない?
2019/01/13(日) 13:37:24.61ID:Gq5QlaCR0
今どきはHDLで書いてLUTベースになってるんじゃないのん?
2019/01/13(日) 13:53:19.28ID:mc4jTf550
原子/分子に文字の概(ry
2019/01/13(日) 17:00:14.26ID:T8nAK+of0
>>841
NAND だけで全ての論理回路を構成できるけど NAND だけで構成されてるかどうかはわからん
2019/01/13(日) 17:43:49.41ID:kE5YqrGT0
基本回路はNOTで、その出力で駆動する
スイッチング素子を直列に置くか並列に置くかでAND/ORにしてるだけ
出力を負論理にするのはIOL>IOHだったTTL時代の名残
2019/01/15(火) 07:09:12.36ID:nk6JBEGL0
根本は電子とホールの移動度の差
2019/01/15(火) 07:18:28.73ID:P3RuPPdOa
たとえば水流で動作するコンピュータがあったらと考えると電子とホールは全然本質じゃない
2019/01/15(火) 08:01:36.67ID:c3MJrubW0
そういや、スマートボール(まぁパチンコ台みたいなものと思ってくれ)式に
上の投入口からボールを落とすと、台に仕組まれたシーソーの傾きが変わって
後から入れるボールの流れも変わる、ていう「機械式計算機」の
モデルもあったな。
シーソーにラッチがついてて「メモリ機能」を持たせたり、
ボールを何個か積み上げるとラッチが解除される仕掛けで変更したり。

>>846 は半導体素子の原理説明だったかな。
P型、N型それぞれの中でも、電子と正孔の両方があったはず、だよね。
2019/01/15(火) 08:06:38.17ID:O800IQzp0
正孔なんてものは存在しない
あるはずの電子がない状態というだけ

電流の向きと電子の移動方向が逆ということを
どうしても受け入れられない石頭のための説明だ
2019/01/15(火) 09:33:53.56ID:biAsBETNx
>>849
あるはずの電子がない状態を「正孔」と定義してるのでは?
正孔が存在しないってのは定義を否定することになる。
2019/01/15(火) 10:10:49.40ID:O800IQzp0
>>850
ならない
おまえ個人のオレ様ルールで否定ということにしたいだけだ
2019/01/15(火) 10:24:18.70ID:ymCyYm1q0
つまり電子が無くなることなんて無かった…?
2019/01/15(火) 10:36:11.91ID:xc4OhZdf0
>>849
「あるはずの電子が無い状態」のことを性行っていうんよ
2019/01/15(火) 11:02:13.55ID:O800IQzp0
846みたいに陽電子と勘違するやつがいるから指摘しといたんだ
2019/01/15(火) 11:06:00.20ID:TmM1XKX0M
誤「あるはずの電子がない」
正「電子がある方が結合が安定する(けど陽子数と合わない)」
2019/01/15(火) 11:19:45.08ID:O800IQzp0
>>855
ほほう それでそれで?
      ____
     /:::::::ヽ
    f::/" ̄ ̄ヾi
    |:リ _ _|
    |r==( o)( o)
    ( ヽ  _) i
  __/ヽ ー== イ
 /ヽ ヽ \__ノ
`/ i  \_/、
/ r-、    ハ
レ⌒ヾi /  / |
i   ̄`ー―-ヘ |
ヽ_____ノーイ
| \    ノ
    ̄ ̄ ̄ ̄
2019/01/15(火) 12:02:58.73ID:P3RuPPdOa
ホールはあるぞ。
電子も実はないんだとか言うならまだわかるが。
2019/01/15(火) 12:03:00.19ID:+hPQnyk+M
>>851
じゃあ、逆に聞くが正孔って何?
2019/01/15(火) 12:12:57.27ID:O800IQzp0
ブツではなく状態ということだ
2019/01/15(火) 12:46:21.45ID:biAsBETNx
なんだ、やっぱりその状態があるって認めてるじゃん。正孔(という状態)は存在する、と。
てか誰も「正孔というモノ」の話なんかしてなくて一人だけ勘違いしてるw
2019/01/15(火) 12:53:56.34ID:XHhYs/N9M
いや俺も勘違いしてるから二人にしとけ。
2019/01/15(火) 12:59:09.57ID:adxfbmcy0
じゃあ俺も俺も
863デフォルトの名無しさん (アウアウウー Sa89-JzEj)
垢版 |
2019/01/15(火) 12:59:28.21ID:uoTEW6ZSa
ところで何の話をしているのかね?
2019/01/15(火) 13:10:35.80ID:adxfbmcy0
過去レス読めばいい
2019/01/15(火) 15:48:52.44ID:O800IQzp0
>>860
絡んできたくせに結局849の日本語が通じてないだけかよ
相手して損した
2019/01/15(火) 16:17:51.71ID:Q775hXRk0
トムとジェリー 仲良くけんかしな
トムトムトムにゃーご
ジェリージェリージェリーちゅう
2019/01/15(火) 17:18:14.06ID:biAsBETNx
>>865
もうこの話題も飽きたので相手しないだけ。
2019/01/15(火) 17:23:42.61ID:TYEZC8N+0
昭和の香り
869デフォルトの名無しさん (アウアウウー Sa89-JzEj)
垢版 |
2019/01/15(火) 20:58:52.03ID:uoTEW6ZSa
昭和は遠くなりにけり
2019/01/15(火) 21:44:31.19ID:O800IQzp0
>>867
バイバイ、イソップのキツネ君w
2019/01/15(火) 22:02:49.14ID:niK8DUcQH
>>866
猫にねずみが噛み付いた
あべこべだ猫たたき
ねずみっていきものさ!
猫だっていきものさ!
872デフォルトの名無しさん (ワッチョイ ce02-H432)
垢版 |
2019/01/16(水) 17:45:04.86ID:ECRqnYoc0
そういやトムジェリって一作目が作られたのが1940年なのな。戦前だ。
それで延々と続いて2017年にもOVAのDVDが出ている。恐ろしく長寿だ。
まあディズニー関係が一番長寿なんだろうけどね。
2019/01/16(水) 17:49:16.09ID:ryLt0Gqla
スーパーマンの1941年のアニメなんてすごいレベル高いよ
2019/01/16(水) 22:19:46.42ID:+bYxL46c0
ENIACの頃か
875デフォルトの名無しさん (ワッチョイ c101-DeFq)
垢版 |
2019/01/17(木) 23:04:44.74ID:KvO4PGbE0
フラッグの状態によって引数を変更する必要があるのですが
どのやり方がベストでしょうか?

//A:冗長だけど単純で解りやすいと思う
if ( flag )
{
func(PARAM1, PARAM2, 1, "hoge1", 2, "hoge2", 3, "hoge3");
}
else
{
func(PARAM1, PARAM2, 2, "hoge2", 3, "hoge3", 1, "hoge1");
}

//B:いったん変数に入れてから function call
if ( flag )
{
n[0] = 1; n[1] = 2; n[2] = 3;
str[0] = "hoge1"; str[1] = "hoge2"; str[2] = "hoge3";
}
else
{
n[0] = 2; n[1] = 3; n[2] = 1;
str[0] = "hoge2"; str[1] = "hoge3"; str[2] = "hoge1";
}
func(PARAM1, PARAM2, n[0], str[0], n[1], str[1], n[2], str[2]);
876デフォルトの名無しさん (ワッチョイ c101-DeFq)
垢版 |
2019/01/17(木) 23:05:39.65ID:KvO4PGbE0
//続き
//C:テーブルその1
const int table[2][3] = {{1,2,3},{2,3,1},};
const char *stbl[2][3] = {{"hoge1","hoge2","hoge3"},{"hoge2","hoge3","hoge1"}};
i = flag ? 0: 1;
func(PARAM1, PARAM2, table[i][0], stbl[i][0],table[i][1], stbl[i][1],table[i][2], stbl[i][2]);

//D:テーブルその2 順番が違うだけの場合だったらこれでもいける
const int table[3] = {1,2,3};
const char *stbl[3] = {"hoge1","hoge2","hoge3"};
int order[2][3] = {{0,1,2},{1,2,0}};
i = flag ? 0: 1;
func(PARAM1, PARAM2, table[order[i][0]], stbl[order[i][0]],table[order[i][1]], stbl[order[i][1]],table[order[i][2]], stbl[order[i][2]]);

//E:三項演算子 これは無駄に比較が多くなるから無しかも
func(PARAM1, PARAM2, flag?1:2, flag?"hoge1":"hoge2",flag?2:3, flag?"hoge2":"hoge3",flag?3:1, flag?"hoge3":"hoge1");
2019/01/17(木) 23:16:19.13ID:lB4jgDBk0
>>875
ケースバイケース
2019/01/18(金) 00:27:39.99ID:mQ1FzYrGa
引数が5個あるのはすでにおかしいという気もあ
879デフォルトの名無しさん (ワッチョイ c101-DeFq)
垢版 |
2019/01/18(金) 00:39:40.92ID:2Bf08m/t0
個人的にはAが好きだけど
こういうの馬鹿にする人いそうなのが困る
2019/01/18(金) 01:55:40.31ID:b8LPMN8g0
引数でやりとりせず大域変数に渡したくなる
2019/01/18(金) 01:59:06.15ID:9Rl7pqwkM
配列に入れてnとstr丸ごと渡せよ
2019/01/18(金) 02:04:58.72ID:4oORRjeGM
構造体に入れてポインタ渡さない?
2019/01/18(金) 05:44:13.01ID:APqq2jRu0
この範囲だけで言えば A が見通しが良くて分かりやすいんじゃないかな。

1, 2, 3 の並び方が(順列で)6通り存在するとか、
1 と "hoge1"... だけでなく、1 と "hoge2" の組み合わせも発生しうるとか、
func()の呼び出しパターンがもっと複雑だったら、
「flagの値に応じて適切な引数でfunc()を呼び出す関数」を作ると思う。
call_func(int flag, [func()に渡す引数]); みたいな感じ。

[func()に渡す引数] の部分を、カンマで区切った引数群にするか、
構造体にまとめるかは、別の要素が絡むので、強く主張できない。
2019/01/18(金) 06:01:14.41ID:5rrYPQ5i0
俺なら次のようにする。
void *a[]={1,&"hoge1",2,&"hoge2",3,&"hoge3",2,&"hoge2",3,&"hoge3",1,&"hoge1"};
func(flag?a:a+6);
885デフォルトの名無しさん (アウアウウー Sa15-4KIe)
垢版 |
2019/01/18(金) 15:49:59.44ID:dETdnGdxa
>>875
その flag が 0 か 0 以外の値にしかならず 1 や 2 で違う動作になる事は未来永劫ない場合と、将来的になる可能性がある場合とでやり方は変えるかも知れない。

でも最初のやり方で良いんじゃないかな。あまり捻ると分かりづらくなるし。
flagの値によって何十通りもの違う呼び出しになるとかいうなら色々考えた方が後々良いのかも知れないが。
2019/01/18(金) 16:33:30.33ID:qQDJcXFa0
flagに1も2もあるかよ
Win32のGetMessageみたいなアホなケースはあるが
2019/01/22(火) 14:42:25.83ID:Um5Ij+zI0
突然のステマ(OSSについてだけど)
LuaTeXっていうTeXのLua拡張?(よく分からん)に付いてくる
pplibっていうPDFライブラリおすすめ。
ドキュメント↓
https://serveur-svn.lri.fr/svn/modhel/luatex/trunk/source/texk/web2c/luatexdir/luapplib/html/ppapi.html#c-api
C向けのAPIでかなり最近に開発されたおかげか挙動が素直
2019/01/22(火) 15:04:03.04ID:zFHfz07h0
>>887
みえない
2019/01/22(火) 15:24:29.26ID:rPWXpeN+0
Username for Subversion luatex repository

とか入力を求められるけど、何やら登録が必要?
2019/01/22(火) 15:34:39.22ID:Um5Ij+zI0
>>889
ユーザー名: anonsvn
パスワード: anonsvn
2019/01/22(火) 15:35:11.14ID:Um5Ij+zI0
ていうかごめん。普通に匿名SVNであることを書き忘れてたわw
2019/01/22(火) 15:47:59.14ID:rPWXpeN+0
こちらも Subversion の公開レポジトリでは anonsvn が一般的と知らなかった。

案内ページも表示されないんで完全会員制の秘密クラブの扉でも
ウッカリ開いてしまったのかと、少々慌ててしまった部分もある。
893デフォルトの名無しさん (アウアウウー Sa15-4KIe)
垢版 |
2019/01/22(火) 16:00:45.48ID:J1mDHp9Ya
バカには見えないプログラムでございます。
2019/01/24(木) 09:31:07.67ID:0uzJSPSp0
確かにAPIはスッキリしてるけど機能が少なすぎるね>>887
Poppler使うわ。
2019/01/27(日) 17:56:04.26ID:dmqtxJI00
てす
2019/01/30(水) 19:18:19.67ID:lQux7EEV0
この板ってPCの書き込みは見れない仕様なの?
897デフォルトの名無しさん (ワッチョイ 3152-FxQn)
垢版 |
2019/01/30(水) 20:09:31.10ID:5GzTmkIQ0
は?
2019/01/30(水) 21:15:29.41ID:lQux7EEV0
>>897
この板をPCのクロームで見てみて
レス数が903なのに、メイトでは897なんよね
2019/01/30(水) 21:22:29.10ID:yhwdEVRM0
>>898
なんかNGしてるワッチョイでもあるんでは?
2019/01/30(水) 21:25:54.58ID:yhwdEVRM0
あ,なんかしょーもないレスの仕様だけ書き込むのもアレだから
ちょっとしたことだけど……
C99の仕様だとfor文の条件の中で新しい変数が宣言できるけど
(新規のプロジェクトでは)積極的に使っていいと思う?
for (int8_t __cnt_foo; __cnt_foo < 42; __cnt_foo++) {
...
}
↑こういうの。
2019/01/30(水) 21:33:33.88ID:uDOSlsoAM
>>898
2cH.scか2ch.Netみてるんでしょ
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況