C言語なら俺に聞け 151

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ cf8f-fy95)
垢版 |
2019/04/02(火) 11:23:37.62ID:SQXqRaAc0
!extend:checked:vvvvv:1000:512
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
2019/04/21(日) 20:10:12.48ID:XP3sT+Yd0
>>196
「初心者」という隠れ蓑に逃げる馬鹿って、自己紹介か?
2019/04/21(日) 20:48:49.16ID:ZEQClH310
>>197
イラッとするのはわからんでもないが、ここはC言語スレだからそんなこというのは荒らしだぞ
2019/04/21(日) 23:45:38.39ID:2X82VWTJ0
>>196
あの時代の初心者は今時の初心者と違って、大半はちゃんと自分で考えて自力で技術を習得していく姿勢があり、ただ教えてもらった通りにするだけのようなのは自然と落伍していったと思うよ。当時の想定する読者層にあった適切な内容だったろうと思う。
2019/04/22(月) 00:28:58.76ID:1mQu6LUBa
単に裾野が広がってるだけで
202デフォルトの名無しさん (ワッチョイ 92ad-AoSc)
垢版 |
2019/04/22(月) 01:07:58.48ID:HMkHCtfr0
>>196
人の意見を聞く気がないなら
チラシの裏にでも書いてなよ

175にもあるけど
初心者の真似するバカのコードが
そのままリリースされる態勢を反省した方が前向き

あと何であの本に信奉者がいるのか
理解できない自分も
2019/04/22(月) 02:24:36.97ID:RPRc4IKz0
>>200
当時のccが寡黙だったのが却ってよかったよな
なんで動かないのか自分の頭で考えるしかなかった
今どきのコンパイラは過保護で
落伍すべき者を引っ込み付かないところまで引きずっちまう
204デフォルトの名無しさん (トンモー MMd5-+96b)
垢版 |
2019/04/22(月) 08:39:06.04ID:29O1k2F2M
>>202
お前のような馬鹿な奴は
そのうち自滅するよ(笑)

お前は「おれ天才!」とか
思ってる低知能のクズだ
もっともたちが悪いクズ
205デフォルトの名無しさん (アウアウウー Sacd-kBNU)
垢版 |
2019/04/22(月) 10:09:04.63ID:y6AB5FtQa
>>179
いや、俺は使えない。

C++は30年ぐらい前にやろうとはしたが当時のPCでもワークステーションでも流行っておらず当然そのような仕事もなく、自分は主にUNIX関係の仕事だったので使う機会がほとんどなかった。

その後PCの方ではWindowsが流行ったが仕事はそのままなので変わらず、趣味ではWindowsでDelphi使ったりもしたがC++はほとんど手を着けず大雑把にしかわからないまま。

仕事はやがてLinux関係に移行するがそこでもC++が必要とされる事はなく現在に至る。趣味でJavaを覚えたりもしたが自分の仕事ではほとんど必要とされなかった。
今は趣味で Kotlin を覚えているところだが、C++については複雑化し過ぎたようなので今さらやる気は起きない。多分今後もやらないと思う。
Windowsプログラムを作る必要が出てきたとしても今ならC++なしで出来そうだし必要になるとしても局所的だろう。
2019/04/22(月) 10:13:09.11ID:RPRc4IKz0
>>204
196の時点ではまだ僅かに技術的な話題に振れていたが
今度は100%罵倒のみ
とうとう落ちるところまで落ちたな
2019/04/22(月) 12:15:04.42ID:IrgyqU7Vx
>>179
MFCが流行ってたりC++Builderが流行ってた時にはそれなりに使う人口がいたと思うけど、過去メンテ以外で現在積極的に使ってる人は少ないかもね。
2019/04/23(火) 01:03:01.93ID:dZlKsmD/r
>>157
え?こんな書き方出来たの!?
初めて見た
[]が演算子??
そんなの今まで読んだ本にのってなかったよ!
2019/04/23(火) 06:21:01.09ID:JSYnwir10
>>208
ioccc
2019/04/23(火) 07:52:30.55ID:ITUqyUOr0
https://www.ioccc.org/
2019/04/23(火) 09:50:22.14ID:tEWsQxq+M
[]が演算子って常識じゃないのか?
どの優先順位表にも載ってるだろ?
2019/04/23(火) 09:56:40.16ID:EYeaOvlg0
もちろんこういう書き方も出来るのが[]演算子と文字列リテラルの合わせ技

int wday = 2;
printf("%c", "SMTWTFS"[wday]);
2019/04/23(火) 11:04:29.35ID:lZSXa7efa
標準入力で最初に数字を入力して、その値だけ文字列を入力するのはどんな感じで書けばいいですか

3
asdf
qwert
sdfghg

こんな感じで最初の入力の値に合わせて配列を用意する?感じになるとおもうんですが
なにもひらめきまへん
2019/04/23(火) 11:22:00.88ID:ITUqyUOr0
>>211
配列の宣言に使う[]は演算子ではない
直接宣言子の一部だ

意図的に演算子に似せてあるので
勘違いするのは無理ないが
演算子は式に作用するもので
宣言子に含まれる[]はこの定義に該当しない
2019/04/23(火) 11:44:40.51ID:5E3fgZzA0
>>212
土日・・・
2019/04/23(火) 11:54:58.53ID:mPLR84qwa
>>214
またおまえか
2019/04/23(火) 12:32:49.10ID:ITUqyUOr0
>>216
何か用か?
218デフォルトの名無しさん (アウアウウー Sacd-kBNU)
垢版 |
2019/04/23(火) 15:59:59.72ID:gv0SOq8da
>>213
文字を入力するだけで変数に入れる必要がないなら getchar() で '\n' 三回読んだら終わり。
変数に入れる必要があるなら最初の値の分だけ char * を保持する配列を char ** に malloc() や calloc() 使って確保して、更に全要素を malloc() や calloc() 使って確保して、それに対して fgets() を繰り返す。
2019/04/23(火) 16:43:21.53ID:56NoAZCP0
>>215
土曜は日曜であり、全は一である。
220デフォルトの名無しさん (アウアウウー Sacd-kBNU)
垢版 |
2019/04/23(火) 17:41:00.23ID:gv0SOq8da
月月火水木金金
2019/04/23(火) 20:20:58.69ID:i9di+stUM
おじいちゃん戦争はもう終わってるよ
2019/04/23(火) 20:24:41.37ID:aEjNiIWC0
令和も戦争のない年号になると良いが、ちょっと雲行きが怪しいな。
223デフォルトの名無しさん (ワッチョイ 69ad-61/s)
垢版 |
2019/04/23(火) 20:44:52.15ID:k/LWg8++0
>>222
日本は戦争しないでしょ?
そして巻き込まれもしないと思う。

だって日本には軍隊がないんだもの。
自衛隊なんて銃もろくに撃てないへなちょこばかりだから。
2019/04/23(火) 20:56:24.90ID:XDXL3q34a
コンピュータ好きなオタクって勇ましいやつおおいよね
2019/04/23(火) 21:21:40.55ID:Dz3CEytOM
語尾によねをつけて同調を求めたがるのは左巻きの典型だよね
2019/04/23(火) 21:58:52.95ID:ITUqyUOr0
俺は右巻きだが「よね」はよく使う
レッテル貼りは瞬時に反証される論議の中では自爆行為だ
しょーもね
2019/04/23(火) 22:34:42.99ID:bUhZMb1va
やっぱり自信がないからコンピュータ好きになるのかな?
2019/04/23(火) 23:06:00.81ID:ITUqyUOr0
断言できないおまえが自信ないだけだ(pgr
229デフォルトの名無しさん (ワッチョイ 3602-Mntl)
垢版 |
2019/04/24(水) 03:42:44.00ID:SZsIFAZx0
よね
2019/04/24(水) 08:04:11.05ID:P2wnwvJc0
ICEデバッグしてるとき、とある変数の値をいくつか足し算して、別の変数に代入する関数で、
変数の内容同じなのに、結果が違う。。
最適化OFFにしてビルドしてる。
2019/04/24(水) 08:05:24.40ID:P2wnwvJc0
その関数は、別の場所から2度呼んでて、1回目と2回目で結果が違う
計算に使う値は全く同じなのに
2019/04/24(水) 08:51:50.10ID:zvRm4GUYM
>>230
自分の経験則で言えば、大抵は関数の処理途中で割り込み処理が発生してメモリかレジスタバンクを書き換えていると思う
2019/04/24(水) 10:14:34.45ID:V3yGzJXe0
一回目から二回目の間で変数のどれかが書き変わってるに決まってんじゃん
2019/04/24(水) 10:55:30.16ID:HTDgYDWT0
>>230
加算に使っているレジスタを割り込みで使いっぱしてね?
2019/04/24(水) 10:58:08.05ID:HTDgYDWT0
>>230
_Atomic使ってるか?
2019/04/24(水) 11:21:13.53ID:IysC1nu6x
>>230
ほぼ100%スタックのゴミ拾ってる。
2019/04/24(水) 12:37:12.74ID:AiHhhuXgM
まれにポインタ周りバグっててメモリー書き換えてるとか
てかICE使ってるならそこで止めて変数の中身確認しろよ
2019/04/24(水) 13:14:34.92ID:V3yGzJXe0
ICE製造の過程でICEそのもののデバッグでもしてんじゃね
239デフォルトの名無しさん (ワッチョイ 3602-Mntl)
垢版 |
2019/04/24(水) 18:27:12.37ID:SZsIFAZx0
まずはアイスクリームでも食べて休むといい
よね
2019/04/24(水) 18:45:45.47ID:JD7HGNH40
ここ20年ほどフルICE使ってないなぁ。
未だにあるんだろうか?
2019/04/24(水) 20:00:32.37ID:P2wnwvJc0
230だけど、俺の見当違いでした。
インプットの変数の値が違っていたので、当然足し算の結果も違っていたというオチ。
ICEデバッグだと変数を表示するとメモリの中じゃなくて表示した時点で割り当てられたレジスタの値を表示するので、
変数としては変わってないはずなのに他で書き換えられるので逐一変わって混乱していた。

ICE初心者でしたw
2019/04/24(水) 22:16:06.15ID:03JhFb4B0
デバッグ中に最適化を抑制するのは間違いではないと思います。
慣れてくると最適化したままでもある程度推測できるようになりますので、
リリースオプションでICEを使用することの方が多くなるかもしれません。
2019/04/24(水) 22:18:24.10ID:lwqMqFKi0
CPUぶっこぬいて差し替えてやるやつ?
2019/04/24(水) 22:41:36.06ID:W4WRMDmVM
ぶっこ抜くと言うよりターゲットボードのCPUの代わりに専用のソケットを実装して専用プローブで接続する
PCなどと違って組み込みのSoCにソケットなど無いのでぶっこ抜いて差し替えるなど無理
2019/04/24(水) 23:07:42.00ID:gVrMWpFh0
>>243
20年前のICEならそうなんだろう
>>244
JTAGの話か?
ソケット云々の前にGHzオーダーのCPUだと信号引き出すなんてとても無理
2019/04/25(木) 00:33:17.24ID:1oTSGFU/a
scanf("%d%d%d", &a, &b, &c);
こうまとめて入力するのをfgets使うとどうやるの?

fgets(s, sizeof(s), stdin);
sscanf(s, "%d", &a);

このセットをループで三つまわすしかない?
一行でやる方法あるんかな
2019/04/25(木) 00:56:36.76ID:WntZOZIYa
いや、1行中に入ってるなら同じじゃないか?
行の区切りとか要素の区切りとか細かい話はあるけども
2019/04/25(木) 03:18:03.15ID:rmDyF6iV0
またfgets教か
マジいやらしさがカルト教団さながらだ
249デフォルトの名無しさん (ワッチョイ 1b02-1PXK)
垢版 |
2019/04/25(木) 04:21:17.20ID:D6NtakiX0
>>246
なんというか、ほとんど答えが上に書いてあるかのような質問だな・・・

sscanf(s, "%d%d%d", &a, &b, &c);
2019/04/25(木) 05:17:53.53ID:6xUIrXDu0
>>246
https://mevius.5ch.net/test/read.cgi/tech/1434079972/55
2019/04/25(木) 21:00:37.28ID:E+TyVG800
>>244
そんな感じ
CPUじゃなくてROMだけど
就業先で当たり前のようにICE使わせて頂いてるけど、お値段見てビックリ・・
2019/04/26(金) 10:01:13.22ID:EJ4BH9nCa
>>250
商売すんなや…
253デフォルトの名無しさん (アウアウウー Sae9-tnqD)
垢版 |
2019/04/26(金) 10:28:55.76ID:YRtkzMZRa
>>252
それって商売になってるのか?
普通に公開されてるが。
2019/04/26(金) 13:15:14.86ID:0jspcAl20
商売のための宣伝だろ
255デフォルトの名無しさん (アウアウウー Sae9-tnqD)
垢版 |
2019/04/26(金) 14:06:27.08ID:YRtkzMZRa
そうなの?何の宣伝になってるのか全くわからんのだが。
2019/04/26(金) 14:27:22.39ID:0jspcAl20
誰もアクセスしない隔離スレなんで
時々こうやって宣伝して引っかかるカモを呼び寄せようと
257デフォルトの名無しさん (アウアウウー Sae9-tnqD)
垢版 |
2019/04/26(金) 14:36:01.95ID:YRtkzMZRa
元々有償でプログラム作るスレとして作ったスレだったんだろうけど結局誰もそんな風には使ってなくてただのプログラム発表の場になってるよね?

ま、しかし、5ちゃんのような掲示板で稼ぐのは無理があるよなあ。それ専用のサイトなら可能だろうけど。
2019/04/27(土) 10:20:19.39ID:H+/AGAV+0
既存をちょっと修正してほぼデグレのテストというスタイルの俺には、
要望に応じて1から新しいプログラムを組む人を尊敬する
修正は修正で既存への影響の面でそれなりのノウハウは要るにしても
2019/04/27(土) 10:42:26.45ID:e+ce++rA0
>>258
むしろ俺は人の作ったワケワカメなコードを文句も言わずメンテしてる人はすごいと思う。
260デフォルトの名無しさん (トンモー MM79-LqAG)
垢版 |
2019/04/27(土) 16:22:24.62ID:W91FG5LxM
>>259
文句を言わずに、というより
文句を言わせずに、だと思う。

俺は奴隷だったので
よくわかる。

会社辞めて派遣になって
気分すっきり!
な~んの責任もないのに
年収1000万だもの

派遣辞められません!
2019/04/27(土) 17:56:34.08ID:H+/AGAV+0
>>260
派遣でそれほどの能力があったら独立して2000万は稼げるのでは
2019/04/27(土) 18:25:28.46ID:H+/AGAV+0
派遣でそれだけ貰える程のスキルがあるってことは、
C言語だと本当に低レベルのデバイスの制御からビジネスロジックの
設計からお任せできるレベル
独立すべきでしょう
2019/04/27(土) 19:19:15.66ID:e+ce++rA0
ハードの設計から組み込みソフトはもちろんWindows、Android.、iOSのアプリ、DBもWebもゼロから設計できるスキルがあったらどこに行ったらそんな高級取りになれるでしょうか?
2019/04/27(土) 19:26:07.70ID:mTDcTDsb0
火事の現場
2019/04/27(土) 19:26:19.83ID:H+/AGAV+0
コンサルレベルでもなかなか
266デフォルトの名無しさん (ワッチョイ 1b02-KxX0)
垢版 |
2019/04/28(日) 03:02:09.70ID:IQfIs7rY0
自分で開業した方が良さそうな感じもするが、そうなると営業力も必要になるな。

まあでも Android や iOS アプリの場合は営業力あまりなくても世界中に売れれば儲かる事がある。
電卓アプリでこんな風に稼いでいる人も居るし。
https://appmarketinglabo.net/calculator-1100man/
これは世界での需要がどのぐらいあるかとプログラムが簡単かどうかはあまり関係ないってことでもあるかな。
需要がないものだと作るのが大変なプログラムでも売れなくて稼げない。苦労と儲けは無関係。
267デフォルトの名無しさん (ワッチョイ 1b8c-B2tE)
垢版 |
2019/04/28(日) 07:50:35.97ID:3xnz0I0C0
大半の自営業は開発費半分を前金でもらいとんずら。
268デフォルトの名無しさん (トンモー MM79-LqAG)
垢版 |
2019/04/28(日) 13:24:06.83ID:JRRKtJTbM
>>267
日本に前金払うところなんてないから。
たからデスマになる
2019/04/28(日) 20:30:30.58ID:I/cjvEXhM
そんなことすれば詐欺として警察に追われる身になる
270デフォルトの名無しさん (ワッチョイ 5d21-ynyp)
垢版 |
2019/04/29(月) 21:07:19.95ID:2RjR17Kk0
Linuxでシリアル通信のソフトを作成しています。
http://codepad.org/L4BLwgAQ

コマンドを送信すると、相手が応答電文を返してくる仕様なのですが
write→readでは、うまく受信できないようです。
teratermで同じ電文を投げると、受信できるので
このソースが悪いのだと思っています。
投げて、受けるというのを上手くやるにはどうしたらいいでしょうか。
お助けをよろしくおねがいします。
2019/04/29(月) 21:50:17.89ID:AbuAGGh6a
socatパクってみれば
2019/04/29(月) 22:10:00.81ID:atpu4K080
>>270
とりあえずwrite()の戻り値とread()の戻り値が-1でないことから確認しようか
2019/04/29(月) 22:16:47.11ID:zdawGwopM
>>272
writeはバイト数の13が返ってきます。
readはここで止まります。ずっと待ち?状態になるようで、ctrl+cで抜けるしかありません。
274デフォルトの名無しさん (トンモー MM79-LqAG)
垢版 |
2019/04/29(月) 22:19:37.72ID:dHR449jcM
Cっていいよね。
シンプルで全て見えてる。
キチンと組めば性能も素晴らしく、
ソースも分かりやすい。

ま、馬鹿が使うと酷いことになるから
馬鹿には触らせたくない!

馬鹿にはJavaがお似合いw
2019/04/29(月) 22:40:41.10ID:atpu4K080
>>273
そもそもtioが未初期化
33行目にtcgetattr(fd, &tio)とかを入れて
2019/04/29(月) 22:45:19.28ID:InnqLHhB0
Cのスレで用途も構造も違うJavaとか出してくるあたり相当頭悪いんだと思った
277デフォルトの名無しさん (トンモー MM79-LqAG)
垢版 |
2019/04/29(月) 23:27:52.24ID:dHR449jcM
ああ
Javaわかんね―馬鹿か

Cしかわからん馬鹿院生って感じかな(笑)
2019/04/30(火) 01:53:25.72ID:AMBMNz/t0
なんでスレがカテゴライズされているかも理解出来ない
2019/04/30(火) 08:20:44.73ID:QYNECMA50
Cが分からないってやつはコンピュータの基礎の基礎が理解できてない。
いきなりプログラミングから学ぶからそうなる。
280本田宗一郎 (トンモー MM79-LqAG)
垢版 |
2019/04/30(火) 09:04:16.26ID:UDRlTLQRM
Cしかできない奴はCを評価できない

そんな簡単なこともわからない

院生くずれのバカニート(笑)
2019/04/30(火) 10:31:21.97ID:FQfKtoeU0
いや評価はできる

この世の森羅万象すべてを知り尽くしているやつなんかいない
みんなそれぞれ何らかの「井の中」にいる
そこからCならCがどう見えるかを述べているのを
聞いた者がどう捉えるかの問題だ

自分の「井の中」のほうが相手より大きそうだからって
天狗になるやつこそ成長の止まった将来性のないやつだ
282デフォルトの名無しさん (トンモー MM79-LqAG)
垢版 |
2019/04/30(火) 11:10:18.88ID:UDRlTLQRM
できね―よ馬鹿
283デフォルトの名無しさん (ワッチョイ 1b8c-B2tE)
垢版 |
2019/04/30(火) 11:15:16.30ID:/zD1IEOE0
OSなしで書ける言語はC?
2019/04/30(火) 11:39:21.09ID:iYYZTFZo0
>>283
C といえども OS なしではなにもできません
2019/04/30(火) 11:40:42.65ID:FQfKtoeU0
フリースタンディング環境のことだろ
ソース入力やビルドをOSなしでって意味ではなく
2019/04/30(火) 11:43:53.69ID:vCAloE34a
ハンドコンパイル・アセンブルするってことだろう
2019/04/30(火) 11:45:02.69ID:iYYZTFZo0
>>285
C だけではなにも出来ないのではないでしょうか、最低限アセンブラの部分が数%はあるでしょう?
2019/04/30(火) 12:02:29.80ID:FWtA2SNeM
クロス開発ではホスト環境とターゲットは別
小規模組込み開発ではターゲットにはOSと呼べるものが存在しない場合もある
2019/04/30(火) 12:17:23.14ID:QYNECMA50
>>287
CPUによってはリセットエントリから100%C言語だけで記述できるよ。
2019/04/30(火) 12:28:19.12ID:AMBMNz/t0
書くことはできる
紙と鉛筆さえあれば
291デフォルトの名無しさん (ワッチョイ 1dd2-DhOR)
垢版 |
2019/04/30(火) 13:23:52.39ID:JZ+qVZdl0
OS無しで動くプログラムが書ける言語はC?
ってことだろうな
2019/04/30(火) 13:41:26.32ID:iYYZTFZo0
>>289
へえ!そうなんですか!多倍長演算をCで書くときキャリーフラグはどう扱うのですか?
2019/04/30(火) 14:20:29.60ID:Cm5pFeJF0
>>292
15bit+キャリーみたいな形で扱えばいいだけ
2019/04/30(火) 15:00:43.85ID:iYYZTFZo0
>>293
それは私もやりましたが、悲惨なコーディングになりました、キャリーを使えるのにそれを無視してCですべて記述するとか、ありえない選択だと考えています
https://mevius.5ch.net/test/read.cgi/tech/1434079972/51
2019/04/30(火) 15:58:16.84ID:QYNECMA50
>>294
そりゃビットサーチとか場合によってはCPUの機能を使ったほうが速かったりシンプルに書けるケースもあるけど、それはそれでまた別の話。
それを以てC言語で書けないとは言えないよ。
2019/04/30(火) 16:35:39.02ID:iYYZTFZo0
>>295
まあ java だけで「やってしまった」OSというのもありますから…多分 JNI を使っているとは思いますけど…
C 言語だけで全部やってしまう、というのはありえなく、例外 exception の実装に有用な setjump(), longjump() ですら、CPU を叩かずにはいられない内容ですから、世に蔓延する「C言語マンセー」は、その機会があればなんとしても叩かずにはいられないのです
2019/04/30(火) 17:01:36.40ID:QYNECMA50
>>296
もしかしたら貴方と私は違う思想の元で仕事してるのかも。
JNIはAndroidぐらいでしか使ってない、てかそもそもJavaを使う機会が少ないような業界の人です。
なんちゃってtry〜catchのためのsetjmp系はそれでもやっぱりアセンブラを使わないC言語の範疇内な訳であって、やっぱりC言語否定の理由にはならんとです。
唯一、OSを記述する際のタスクプリエンプトだけはC言語だけで記述できず悪魔のスタック操作とコンテキスト切り替えが必要なのでアセンブラが必須だとは思いますが。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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