C言語なら俺に聞け 148

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウカー Sacf-slpW)
垢版 |
2018/09/19(水) 17:56:50.83ID:XSTNMnDwa
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言語なら俺に聞け 147
http://mevius.5ch.net/test/read.cgi/tech/1534430162/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2018/10/16(火) 07:59:23.00ID:ips5MdhR0
622じゃだめなんか?
cat <file> | awk -F= '{if($1=="b") b=$2; else print;} END{printf("b=%d\n", xor(b, 1))}' | sort
643デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/16(火) 09:23:21.39ID:HrwRMilta
いーんじゃない?
2018/10/16(火) 10:41:54.09ID:kKW6G61E0
>>641
確かにそんな感じしてきてるな
645デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/16(火) 13:03:31.45ID:0QUQFWONa
てか、Cのスレで質問者もCでどうやるか聞いてるのに誰もCで答えてないw

ま、Cで書く気が失せる問題ではあるが。
2018/10/16(火) 13:28:42.21ID:iuFXWAmsM
頭の体操にはなったろ
スレを活性化するためには呼び水って必要なんだと実感
2018/10/16(火) 13:38:03.74ID:dIjk/xku0
C言語でやるとしたら
b=で始まる行以外は適当な一時ファイルに出力し
b=で始まる行だけはメモリー上に格納しておく
b=行が出現する度に、あたらしい行データでメモリー上を更新する
EOFまで処理したら、一時ファイルとメモリー上のデータをマージする
その際にb=の値を所定の値に置換する
順番は後にソートする前提なので適当で構わない
ソートは外部コマンドでやらせて良いだろうね
2018/10/16(火) 17:27:49.92ID:5Df0UEAr0
>>645
591がCで答えてるだろ
ちょっと小馬鹿にしたような内容だが
小出し小出しで来る質問者には適切だったと
だんだん思えてきてる
649デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/16(火) 17:35:52.31ID:HrwRMilta
>>648
おお。上の方過ぎて気づかなかった。
2018/10/16(火) 21:08:20.36ID:iuFXWAmsM
お前らがほどよく食いつきそうな質問考えるのも大変なんだぞ
2018/10/16(火) 21:46:58.32ID:Fb63Sgww0
>>650
死ね
2018/10/16(火) 22:04:41.56ID:gETK/lfa0
流石に591はネタとしか思えない
というか、酷すぎだろう
2018/10/16(火) 23:06:58.82ID:HI3tJEA90
C99時代のhello worldプログラムを考えてみた。

#include <stdio.h>
#include <stdlib.h>

static inline void
print_hello(void)
{
puts("Hello, C!");
}

int
main(void)
{
print_hello();

exit(EXIT_SUCCESS);
}

exit()関数を使ったり、main()関数の中に直に処理を書かないとか色々。
654デフォルトの名無しさん (ワッチョイ bf9f-pYQO)
垢版 |
2018/10/16(火) 23:31:05.44ID:ZKPc2SIw0
なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?
655デフォルトの名無しさん (ワッチョイ bf9f-pYQO)
垢版 |
2018/10/16(火) 23:35:18.29ID:ZKPc2SIw0
>>653
あれ?それ、コンパイルすると警告出ないか?main()が何も返してないって。
いや、exit()を理解してくれるコンパイラなら何も出ないかも知れないけどね。
2018/10/16(火) 23:48:35.20ID:HI3tJEA90
>>655
c99 -O2 -Wall -Werror -Wextra hello.c -o hello
これで無警告だった。
c99はGNU/Linuxだとgcc -std=c99を実行してる。
icc -std=c99 -O2 -Wall -Werror -Wextra hello.c -o hello
でも成功。
GNUのコンパイラでもIntelのコンパイラでもちゃんと処理できるのでいいんじゃないかなぁ。
657デフォルトの名無しさん (ワッチョイ bf9f-pYQO)
垢版 |
2018/10/17(水) 01:16:05.15ID:GVzdQn3+0
そうだったか。
2018/10/17(水) 01:41:12.15ID:aiP21AAI0
main に限り 戻り型int としながらも return で値を明示的に返さない場合
暗に return 0; とするってなかった? (653 で exit() 無しでもセーフ)
2018/10/17(水) 01:48:50.18ID:aAn3UH6A0
c99から(とc++も)main()は特別扱いで省略時はreturn 0;と扱われる
とググったらでてきた

なんでmain()だけ?どうせなら関数全てそうしちゃえばいいのに、と思わなくもない
660デフォルトの名無しさん (ワッチョイ bf9f-pYQO)
垢版 |
2018/10/17(水) 02:29:49.55ID:GVzdQn3+0
なんと。そうだったのか。
2018/10/17(水) 03:22:55.94ID:FoS95tj1M
>>659
「書かないこと」が一命令と等価ってどうよ?
2018/10/17(水) 03:32:50.43ID:4awkQadJ0
不定の戻り値なんて殆ど使いもんにならんから
戻り値がスカラー型ならコストも低いし 0 返してる扱いでいい気がする
2018/10/17(水) 04:22:55.42ID:Nvagglal0
>>656
-std=c99いらねって
デフォだぞ今のgccは
2018/10/17(水) 06:39:43.66ID:p0V48QfGM
>>662
そんな余計な機能は要らんわ
2018/10/17(水) 06:40:15.60ID:p0V48QfGM
>>663
お前は何を言ってるんだよ w
2018/10/17(水) 07:36:54.39ID:Nvagglal0
>>665
ニホンゴワカリマスカ?
2018/10/17(水) 08:11:38.95ID:zWYuH5Te0
確かSolaris+sunのコンパイラではreturn 0 もexit(0)も書かんかったら$?は不定だったような記憶がある
2018/10/17(水) 08:13:06.68ID:p0V48QfGM
>>666
iccワカリマスカ?
2018/10/17(水) 09:26:43.05ID:Nvagglal0
>>668
だから何?
2018/10/17(水) 09:31:50.81ID:OPyv/DAJM
>>669
日本語わかってないのはお前じゃん
2018/10/17(水) 09:49:25.33ID:Nvagglal0
>>670
頭が馬鹿なお前に言われたかねえぜ
2018/10/17(水) 10:05:24.48ID:p0V48QfGM
>>669
で、誰が gcc で -std=c99 を指定してるって?
恥の上塗りすぎる w
2018/10/17(水) 10:27:25.05ID:Nvagglal0
>>672
>>670
2018/10/17(水) 11:19:59.47ID:p0V48QfGM
>>673
>>665
2018/10/17(水) 12:45:18.81ID:5mPHIqhKM
マ板で見つけたんですけど、何がやばいんですか?
355 仕様書無しさん sage 2018/10/17(水) 10:31:44.15
https://qiita.com/hamichamp/items/7b7a7ee091a6856ac900
こんな奴でもフリーランスになれるんやな
676デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/17(水) 12:57:28.62ID:8efdFbKLa
>>675
え?そこに書いてある通りでは?
2018/10/17(水) 13:16:02.45ID:5mPHIqhKM
>>676
すみません勘違いしてました
このブログの投稿者がフリーランスでこの記事の人のことではないんですね
2018/10/17(水) 13:33:54.04ID:Nvagglal0
>>674
確かに、俺が何を言ったのか、おまえ解ってないな
だから聞いたのか

672で自らの理解力を露呈して自爆しやがってw
2018/10/17(水) 13:47:12.06ID:MkHFWGSb0
>>653
だれかこれに触れてほしい(自己主張)
C99というかモダンCプログラミングの初歩として
(手前味噌だが)かなりいい感じだと思うんだけどどうかな。

とりあえず今までのhello worldプログラムは
・return文、しかも0固定をmain()関数に書いてしまっている
・main()関数に直に処理を書いてしまっている。
などの理由であまり実際に即していないと思うのよね。
2018/10/17(水) 13:58:30.03ID:4awkQadJ0
>>679
人は互いに理解し合えるという幻想に対する反例として読んでます
681デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/17(水) 13:59:47.69ID:8efdFbKLa
別にmain()に処理書いてもいいと思うがな。パッと見てわかるぐらいの小ささなら。

まあしかしこれは各個人の信仰の問題であって言語そのものの制限ではない。
そこまでなんとかしたいならそういう言語を作るしかない。
布教活動すれば信者は増えるだろうが相変わらず教義に反する異端者はこの世に存在し続ける。
2018/10/17(水) 14:08:29.78ID:yNGPPWpxM
>>679
hello world に求められることは、できるだけ少ない手数でイメージ通りの結果が得られることだと思うんだ。宗教の前に。
>>653 に込められた思想が分かるようになるのはずっと後。
まあ、ある程度分かるようになってからのお題としてここで議論するのは面白いかもね。
2018/10/17(水) 14:25:03.69ID:JU3vAU4Ix
mainの中にputsの代わりに別関数呼ぶと言うのはビジネスロジックをmainから極力排除するという意図があると推測するけど、最初の一歩としては複雑すぎる。
いきなり最初から関数、inline、static、exitの仕様を理解する必要があるので。
2018/10/17(水) 15:12:32.44ID:Nvagglal0
スタイルの問題じゃねえ
sizeof(32)とか書いてるアホが指導員やってることが問題なのであって
685デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/17(水) 15:16:21.42ID:mC+TJhpha
voidといいsizeofといい、今年は豊作だなw
686デフォルトの名無しさん (ワッチョイ 4708-I59m)
垢版 |
2018/10/17(水) 15:38:23.06ID:6YtQ5uRO0
b=の書換質問は釣りだったんだな
687デフォルトの名無しさん (ワッチョイ df9f-5hEM)
垢版 |
2018/10/17(水) 16:16:17.24ID:O9lRBr4Z0
voidくん見てる〜?
sizeof(32)くんて友達出来てよかったねw
2018/10/17(水) 16:32:00.39ID:TQLylYbFa
ブルーボトル日本開店おめでとう。
西海岸で飲む、いつもの味。僕にとって新鮮みがないことが、成功の証だと思う。
2018/10/17(水) 18:16:44.83ID:p0V48QfGM
>>678
で、ごたくはいいから>>672の回答書いてみろよ
まあ書けずに逃げ回るんだろけどな w
2018/10/17(水) 18:18:55.24ID:jwV5Qww90
>>653
>>679
ゴミだね

お前ら初心者はもう少しわきまえた方がいい。
初心者が思いつきで出来る領域はCにはもう残されていない。そういうのがやりたいのならGoやRustに行け。
C99からもう20年近く経つ。
その間、誰もそういうことをやらなかった(或いは、やっても流行らなかった)のは、その必要がないからだ。
今のお前のように、無視されて終わったからだ。

それが何故ゴミなのか理解出来ないうちは、もっとコードを書くことだ。
691デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/17(水) 18:31:08.37ID:bYFTmDwea
半角にするの忘れてるぞ
2018/10/17(水) 18:50:31.41ID:jwV5Qww90
>>691
俺は半角君ではないし、あおり抜きでゴミだって事だよ。
マジでそういうことを世界中の誰も20年間しなかった理由を考えてみろ。

この期に及んでお前らみたいな糞初心者がCに溢れている意味が分からんが、
お前らはどうやらどの言語でも良くて、単に流れているスレに溜まっているだけだろ。
だから無理にでも流れないと不安になるから無駄釣りしているわけでさ。
そういうのも迷惑だから止めろ。
2018/10/17(水) 19:22:06.89ID:EXKxlQhR0
マジックNGワード「お前ら」 ※2(5)chの全板共通

釣りレス or 気が触れた方のレス or 玄人ぶった素人のレスなど。
ウザいレスを回避する際に使用します。

参考:
【レス抽出】
対象スレ:C言語なら俺に聞け 148
キーワード:お前ら

抽出レス数:18
2018/10/17(水) 19:59:27.76ID:jwV5Qww90
>>693
お前らが駄目なところはそういう所なんだけどな。
最近パヨクが急速に腐ったのも同じ理由だ。

最近は693みたいに、「俺の希望する意見じゃなきゃイヤ」な奴が多すぎる。
ネットってのはリアル以上にいろんな人がいて、様々な意見を聞ける。
その中で、どんな偏った意見も、探せば出てくる。
フィルタ(ブロック)しまくれば都合がいい意見しか見えない状況が簡単に作れる。
これは昔で言う、イエスマンで周囲を固めた状態だ。一番やってはいけないと言われていたことだ。
そしてそれをやりまくったのがパヨクで、今は世間とずれまくってるだろ。

今の状況で俺をブロックするのなら、お前らはパヨク以下に落ちる。
勿論、俺が言っていることが間違いだらけで、読む価値無しと判断するなら、フィルタするのは自由だ。
しかし実際の所、>>679を肯定的に評価している奴なんて誰もいないだろ。俺が一番はっきり言っただけであってさ。
この状況で俺をフィルタするってのは、お前はパヨク予備軍だって事だよ。

世界中を探して>>679を褒めてくれる奴を見つけだし、そこに移住すれば、君らは幸せになれるだろう。
俺も君らが居なくなって清々するし、有り難いから、そうしてくれれば助かるのだが。
そもそも、この程度でNGが必要な奴はここ(2ch)に来るべきではないし。


まあ、>>693には俺が見えてないはずだから、この話はここで終わりだが。
695デフォルトの名無しさん (ワッチョイ df9f-5hEM)
垢版 |
2018/10/17(水) 20:06:48.77ID:O9lRBr4Z0
などと意味不明の供述をしており
2018/10/17(水) 20:12:27.30ID:jwV5Qww90
>>695
>>687もゴミだけどな
2018/10/17(水) 20:27:13.80ID:oiR6YjXfM
早く自分の巣に帰りなよ
http://mevius.5ch.net/test/read.cgi/tech/1533459756/
2018/10/17(水) 20:44:17.20ID:NzFClE36M
お題は「モダンなCでHello World」です

ファイッ!
2018/10/17(水) 20:50:17.71ID:MkHFWGSb0
弁明しておくと、俺の >>653 は釣りじゃなくて、まったくの興味というか
こういうプログラムのほうがいいんじゃないかという提案だった。
結果的に荒れ気味になってしまったのはすまん。
(個人的には旧hello worldよりも洗練されていると思うんだけどなぁ……)
2018/10/17(水) 20:56:16.85ID:NzFClE36M
好きか嫌いかよりコードで語れよ!!
2018/10/17(水) 20:58:45.43ID:jwV5Qww90
>>697
お前も何故か必死なんだな。

同一人物でないのなら、単に>>679>>653を褒めてやればいいだけだろ。
そこで「気に入らない意見」(に反論)ではなく、
気に入らない意見を言った「俺」にフォーカスしてくる辺りがパヨク予備軍なんだよ。

実際の所、ネット上には間違ったことを言う奴も多い。それが俺だというのならさておき、
誰も>>679を褒めてないし、20年間世界中でそんな馬鹿なことをした奴が居ないのも事実なんだから、
そのことをふまえて普通に考えれば、>>679がゴミなのは事実だし、自明だろ。

ゆとりはスクラムを組んで連呼し、黒を白だと主張する事がよくあるが、それは明白な間違いだよ。
てゆうか、一体お前らは何がしたいん?
ゴミをゴミだと言われない匿名掲示板なんて、逆に存在価値がないだろ。
腐されたくないだけなら、FaceBookでやるべきだ。
後ろ指さされることはあっても、堂々とゴミだと言われることはあまり無いはず。
それがお前らの望みなんだろ?
(今回の>>675もそう。ここでボロカスに言われることはあっても、直接言われることがないからあのままなのであって)
702デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/17(水) 20:59:31.12ID:OPzCf6X6a
>>699
洗練されているとは思うが学び始めたばかりの初心者に最初に見せるサンプルプログラムとしてはやはり複雑なのではないかと思う。
703デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/17(水) 21:07:03.53ID:OPzCf6X6a
>>701
お前はゴミだ。
2018/10/17(水) 21:44:14.14ID:jwV5Qww90
>>702
褒める気があるのならもっとはっきりと褒めろよ。

>>703
そういうところがお前らの駄目なところだ、と言っているわけだが。
まあ所詮それがゆとりの限界だよな、とは思う。
否定されたことがないから否定されることに過敏なのか?最近この手の輩はよく見かけるが。

しかし、俺をゴミ呼ばわりするお前ですら>>702程度しか言えないのなら、
逆に俺の意見「>>679>>653はゴミ」を補強しているではないか。
俺をゴミ呼ばわりするのなら、もっとベタ褒めしないと筋が通らないだろ。
そのことにすら気づけないのか?
2018/10/17(水) 22:03:17.39ID:jwV5Qww90
>>699
一応マジレスしておく。
ただし技術的な答えは書かない。
これは最近、この手で煽って答えを書かせる輩が増えていると感じるから。
そういう奴らにはエサを与えず、餓死させるのが習いだ。
君のせいではないから、この点は安心していい。

> こういうプログラムのほうがいいんじゃないかという提案だった。
これはいい。
というか、こういうのを自由にやれるところがいいところであって、
逆に、遠慮して何も言えないようなら匿名掲示板の存在価値はない。
だから、思ったことはどんどん言えばいいし、
それについて文句を言いたければ言えばいいし、結果的に荒れても問題ない。
ここは、そういう場所だから。
逆に、FaceBookや実名空間で出来ることをここでやるべきではない。
実名空間で口頭でやった方が手間もかからず早いからだ。

問題は、ゴミをゴミだとはっきり言いきった俺に対して、
言い方が良くない系の言いがかりを付けてくる馬鹿が多いことだ。
匿名掲示板で全員が意見をオブラートに包んで言うようになったら存在価値なんて無くなる。
そもそも、それを求める奴がここに来るのも間違っている。
そんな奴は、少なくともコテハン制の所に行くべきなのさ。
706デフォルトの名無しさん (ワッチョイ e780-gma9)
垢版 |
2018/10/17(水) 22:07:22.33ID:Ny9Q/0jK0
相変わらず低学歴知恵遅れたちは
超どうでもいいことで
超どうでもいいレスをひたすら書きこんでるわ
707デフォルトの名無しさん (アウアウカー Sa7b-v5lg)
垢版 |
2018/10/17(水) 22:07:25.85ID:MwWLHD/ka
>>700
言えてる。

CASL2の勉強で1から140までの合計を求めて、その数を文字列に変換するプログラム書いたんだけど、どうよ?
ほら。Cって組込にも使われるじゃん。
printfが無い環境のために良い練習じゃん。
(実際、組込Cでprintf無いけど、キャラクタディスプレイ付ければ文字コードを送ると表示される環境と言うのがある)

なぜ140かと言うと各桁が同じ数字じゃ無いので保存場所の間違いに気付きやすいから。
4桁は合計で出た数の桁数。

キャラクタディスプレイの代わりにputs縛りって事でさ。
2018/10/17(水) 22:09:24.04ID:SO2V+VK90
長いよ
コードと同じように簡潔にやろうぜ
2018/10/17(水) 23:03:46.64ID:NzFClE36M
半角 VS ゴミ
盛り上がってきました
2018/10/17(水) 23:25:43.86ID:35FivH1Pa
>>699
hello worldの目的からすれば、意味のある動作する完全なコードを最もシンプルにかつ素直に表すことが重要だと思うから、個人的には従来のhello worldの方が「洗練」されてると思う。
711デフォルトの名無しさん (ワッチョイ 7e5b-PTxd)
垢版 |
2018/10/18(木) 00:56:03.83ID:kg6wANGU0
>>705
でもvoid君はC言語詳しくないじゃん
2018/10/18(木) 01:24:29.78ID:YedLW6kI0
見立てによるとJava厨だからな

voidは知ってるが引数voidは知らない、
となればJavaスレで相手にされなくなってCスレにマウンティングしに来たクズだ
>>37はもう伝説だろ
2018/10/18(木) 02:05:44.91ID:WDPIjajG0
>>689
おまえの勝手な妄想にどう答えろって言うんだよアホ
2018/10/18(木) 02:29:02.90ID:+6TFZypL0
>>711-712
お前らがC言語に詳しいつもりなら、それなりの見解を添えて>>679>>653に対しての意見を言えばいいだけ。
誰一人として褒めてない(≒俺の意見も正しい)この状況で、
そういうゆとりスクラムでゴネて駄目なものをさも素晴らしいことにしようとするからゆとりは嫌われる。
お前らは自覚出来ていないようだけども。

いずれにしても、ゆとりスクラムなんて誰も得しないから止めとけ。
お前ら自身も学ぶ機会を失っているだけだし。

表面的な言い争いでスレが潰れることはない。
>>679だって、本当にそう思って主張したのだから、それでいい。それで荒れるのなら、それも仕方ない。
ただ、スクラム組んでるゆとりみたいに、自由な意見を排除しようってのは、スレを毀損し、潰す。
だからそれは止めろと言っている。
お前らが望む「どんな糞コードでも褒めてもらえるスレ」は、ここ(2ch)では存在し得ない。
お前らみたいに、自分の意見を全く言わず、ただ他人を馬鹿にしたいだけの奴が居るのも、また事実だから。

ただここら辺、何度言ってもゆとりには通じないところをみると、やはりギャップがある。
俺には、ゆとりが望む「どんな糞コードでも褒めてもらえるスレ」は存在価値が無いと思える。
読んだとしても、全く上達に繋がらず、むしろ道を誤ることになるからだ。
ここら辺がマジで通じないのは何故か、分かる人がいたら、解説願いたい。

ゆとりは今の居心地の良さ、つまり、書いてある内容の正誤より、言い争いのないだけのスレを好む傾向がある。
そして、それが長期的にはスレを殺すことも認識出来ない。実際、それでスレがゴミ化するのを何度も見てきた。
これがゆとりの特性、ってことなのかね?

まあとにかく、誤解無いように何度も言っておくが、
俺自身は653や679のような主張はやりたいのならやればいいと思っている。
そして中身はゴミだという見解だ。
結果的に荒れたようになっているのは679のせいではないから、萎縮する必要はない。
が、誰も褒めないコードを素晴らしいと思えちゃうのは、679に技術的な問題があるんだよ。それは自覚した方がいい。
2018/10/18(木) 03:00:15.26ID:SqeIqpTY0
>>714
指摘あざす。荒れ気味になっちゃったのは残念だけど、俺のコードに関して(賛否関係なく)F/Bを貰えたのは嬉しい。

差し支えなければどの辺りがゴミなのか教えてもらえないかな。今後に生かしたい。
というよりも、既存のhello worldプログラム——つまり
#include <stdio.h>

int
main(void)
{
printf("Hello, C!\n");

return 0;
}
で、(C言語の関数としてはあまりに多機能で異質な)printfを使っていたり
組込み機器向けのプログラムでもないのにmain()関数をreturnで終了していたり
main()関数のなかに直に処理を書いてしまっている点は、問題ないと考えているってことだよね。
これらはこのプログラムを書く初心者にとっては不要な心配だということかな。
2018/10/18(木) 03:05:01.38ID:acZxv8zY0
ほんと人間は分かり合えないという実例だな
その2つの指摘のどちらも誰にも共感されないだろう

世界は広いから「誰にも」は言い過ぎかもしれないけどさ
2018/10/18(木) 03:17:25.13ID:WDPIjajG0
>>715
組み込み機器ではmain()関数をreturnで終了せよと?
718デフォルトの名無しさん (ワッチョイ 269f-nBLa)
垢版 |
2018/10/18(木) 03:42:00.06ID:CSkK3ONp0
>>714
>>679>>653への意見以外の事を長文で沢山書いてるのは君だ。
もっと自分のやっていることを自分で見た方が良い。
2018/10/18(木) 04:54:24.19ID:iSVWVd6E0
>>713
勝手な妄想?

> c99はGNU/Linuxだとgcc -std=c99を実行してる。
> icc -std=c99 -O2 -Wall -Werror -Wextra hello.c -o hello
> でも成功。

に対して

> -std=c99いらねって
> デフォだぞ今のgccは

って書いたアホがいたって話なんだが w
2018/10/18(木) 06:21:20.70ID:M8AMqVol0
>>719
だから書いたが
それがどうしたんだよ

おまえiccがどうたらぬかしてたろ
ちゃんとそこをからめて説明してみな
2018/10/18(木) 06:34:59.00ID:k5RfC1S9M
半角はまだコード書き込んだりする分>>714よりマシだな
2018/10/18(木) 06:45:51.12ID:LRx1sLItM
>>715
どちらがより初学者向けかの比較の問題だと思う。
既存のhello worldが今の時代に則して最適とは思わないけど、それにも増して貴方のhello worldがいきなり覚える要素が多すぎて適切じゃない。
ちなみに組み込みを何か勘違いしてるっぽいけど、普通はmainからreturnさえしない。
2018/10/18(木) 06:47:39.20ID:zbm0s+GWM
>>720
-std=c99
って書いてあるのは

1. > c99はGNU/Linuxだとgcc -std=c99を実行してる。
2. > icc -std=c99 -O2 -Wall -Werror -Wextra hello.c -o hello

の2つ

1. のことを言ってるならc99コマンドの作者に言え
2. のことを言ってるなら精神科か眼科に行け

って話な w
2018/10/18(木) 07:09:12.87ID:SqeIqpTY0
>>722
> 普通はmainからreturnさえしない
マジかw これは恥かしい勘違いだわ。
普段まったく組込み関係に触れてないのがバレてしまった。
2018/10/18(木) 07:46:50.50ID:OVQJgcG30
OSが存在しない組込み系ではあり得ないこともない
通常は電源投入後スタートアップルーチンからmain関数を呼び出して電源遮断するまで永久ループ
万一、電磁パルスや放射線等でマイコンが動作しプログラムカウンタの値が狂ってループ外に脱出した場合は強制リセットで再起動

void main(void) {
while(1) {
... // メインループ: 永久ループで脱出不可
}
_asm("JP VECT_RESET"); // 異常発生により強制リセット: スタートアップルーチンへ強制ジャンプ
}
2018/10/18(木) 07:52:06.39ID:VFmelRyo0
確か今のコンパイラ(icc,gcc,clang)ってデフォルトで-std=gnu99か-std=gnu11じゃなかったっけ
2018/10/18(木) 07:52:47.02ID:OVQJgcG30
訂正
マイコンが動作
マイコンが誤動作
2018/10/18(木) 08:00:46.41ID:SqeIqpTY0
>>726
そうかもしれないが
gnu99とc99はちょっと動作違うじゃん?
と言ってもトリグラフの警告の有無とかその程度だけど。
c99コマンドは-std=c99だけどiccコマンドは-std=c99を明示すべきと判断した。
729デフォルトの名無しさん (ワッチョイ 269f-eYdq)
垢版 |
2018/10/18(木) 08:38:10.70ID:CSkK3ONp0
>>724
その辺はどう作るかによるだろう。
2018/10/18(木) 08:57:20.34ID:q7k7CaDsa
voidに加えてreturnが加わった?
2018/10/18(木) 09:11:12.73ID:LRx1sLItM
>>729
プロセスベース以外の組み込みソフトでmainからreturnするコードを見たことないんだけど、もし差し支えなければ後学のためにどんな作り方があるのか教えてください。
732デフォルトの名無しさん (アウアウカー Safb-nHS7)
垢版 |
2018/10/18(木) 09:11:29.09ID:xtVP5nmJa
本当に今年は豊作だ
733デフォルトの名無しさん (アウアウカー Safb-nHS7)
垢版 |
2018/10/18(木) 09:13:27.72ID:xtVP5nmJa
>>731
そんなもんmain呼ぶcrtの方で無限ループするように作っとけばできるじゃん。
734デフォルトの名無しさん (アウアウカー Safb-dUTK)
垢版 |
2018/10/18(木) 09:19:15.80ID:qf9NxgCDa
>>707 に誰も挑戦しねーし。。。

千の位は1000で割れば数が出るし、余りが千の位を引いた数だから、今度は百の位、十の位ってする。
各位の数字に16進数の30(文字コードで数字の0)を足すと文字列の完成。
(Cだと末尾に¥0も必要。“0000”とか文字配列作れば自動で挿入される)

大まかなロジック教えれば書けるだろ。
分かってみれば大した事してないんだよ。
2018/10/18(木) 09:20:39.69ID:LRx1sLItM
>>733
「そういう作りもできる」ってのは分かります。
mainの外部に無限ループのあるソースは見たことないので普通はそんな事しないと思ってました。
2018/10/18(木) 09:20:47.49ID:q7k7CaDsa
経験的には、exitしちゃだめというシステムはあったけど、returnしちゃだめというのはなかったなあ。
returnに到達しないプログラムはもちろんあるけど。
2018/10/18(木) 09:22:20.30ID:LRx1sLItM
>>735
補足です。
mainからreturnした後に無限ループってのは普通に見ます。
あくまでmain自体を無限ループで囲んでいるのは見たことなかったです。
2018/10/18(木) 09:43:07.26ID:jV/G7rqZ0
>>723
つまり精神科に行くのはおまえってことだな
語るに落ちたなw
2018/10/18(木) 11:44:54.60ID:9LQIedmj0
一周まわって、何かあったらどんどんexitするようにしたよ

メモリリークしてるかも? ⇒ 一応プロセス再起動
処理が滞ってきたかも? ⇒ 一応プロセス再起動

便利なOSを使うようになってからどんどん怠ける一方よ
2018/10/18(木) 12:46:19.16ID:q7k7CaDsa
めっちゃプロセス起動速いOSあってもいいよねと思ったけど、結局LWPのスレッドになるんだろうな
2018/10/18(木) 12:58:15.88ID:rzx784yQM
メモリリークとか、そこら辺勉強するのにおすすめの方法ある
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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