[過去ログ] C言語なら俺に聞け 151 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1
(2): (ワッチョイ cf8f-fy95) 2019/04/02(火)11:23 ID:SQXqRaAc0(1/3)調 AAS
!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
2
(1): (ワッチョイ 0f8f-068C) 2019/04/02(火)11:27 ID:SQXqRaAc0(2/3)調 AAS
前スレ
C言語なら俺に聞け 150
2chスレ:tech

!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512

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

…あってる…?
3
(1): (ワッチョイ 0f8f-068C) 2019/04/02(火)11:28 ID:SQXqRaAc0(3/3)調 AAS
これで良い…のかな

!extend:checked:vvvvv:1000:512

次スレを作る時は >>1 の上記1行を「1行目に」コピーして2行に増やして必ず1行目に入るようにしてください。
4
(1): (ワッチョイ 1f19-9gjM) 2019/04/02(火)16:37 ID:VBVVrqHU0(1)調 AAS
前スレ977のリンクが404ぽいので
魚拓から復元してみた
https://ideone.com/IhBGrr

977 名前:デフォルトの名無しさん (アウアウエー Sa3f-XwTE)[] 投稿日:2019/04/01(月) 21:33:02.04 ID:v6mAk26Pa [1/3]
「要素型がint型で要素数がnの配列を受け取って、
全要素に添字と同じ値を代入する関数set_idx」を作成しました。
http://codepad.org/krsZoljq

配列aの要素数はマクロ定義で#define NUMBER 10とし、
問題なく動作しました。
ところが、この要素数10を60に書き換えてみたところ、
コンパイルされたexeファイルを実行しても動作しません。
コンパイラはMinGW(gcc)です。
思い当たる原因を教えていただけないでしょうか。
5
(2): 前スレ977 (アウアウエー Sa3f-XwTE) 2019/04/02(火)20:52 ID:JwQjLW9ya(1)調 AAS
>>4
codepadが消えてしまっていたのですね、
復元ありがとうございます。
当初は16行目を
int a[] = {0};
と書いていたため上手く動作せず質問した次第です。

前スレで色々とレス頂きありがとうございました。
プログラムを書く際にバッファオーバーランの危険性を考慮する必要があることすら知らないレベルなので、
メモリの使い方を念頭において学習していきます。
C言語は諦めた方がよいというレスもありましたが、
センスがないのは重々承知の上で、腹を括って勉強していくつもりです。
6: (ワッチョイ 0f8f-068C) 2019/04/03(水)00:01 ID:qKRJca2S0(1)調 AAS
>>5
いえ
すみません

「呼び出し元で配列長を管理出来ている。問題はない」と言いうるようです /* むしろ free し忘れる方が問題か */
誤解・不適切な部分があったこと、申し訳なく存じます

色々大変かも知れませんが、頑張ってください
7: (ワッチョイ 9fc5-1m/C) 2019/04/03(水)00:29 ID:kMUljaKF0(1)調 AAS
>>5
cは非生産的で大したアプリは最初のうちは作れない
しかし覚えれば言語やOSや組み込みなどに手が出せるようになる
独学はイバラの道だが頑張ってね
8: (ワッチョイ 9fa5-mpQp) 2019/04/03(水)14:57 ID:PdcOYuo+0(1)調 AAS
>「c言語 おすすめしない理由」でググると
>https://www.sejuku.net/blog/3619

sejukuはねーよ
C言語のウソ記事まき散らしたとこじゃねえか
9: (ワッチョイ 1f19-9gjM) 2019/04/03(水)17:06 ID:jUO0vRXi0(1)調 AAS
全く以てくだらんな
何言語だろうが関係ねえ話で
習得できなかったやつの言い訳を集めただけの駄文だ

もし「初心者」がここを見ているなら一言いいたい
【 あ ん な の 忘 れ ろ 】
プログラム言語に限らず人生すべてに影響する有害な集団催眠だ
10: (ワンミングク MMbf-QHAD) 2019/04/03(水)19:21 ID:6tuZKWrYM(1/2)調 AAS
既存のソフト(dll)を引き継いだのですが、そのdll内でバイナリファイルをリードしています。
_open(xxx, _O_BINARY, _S_IREAD) しているのですが、複数のプロセスが同じタイミングでアクセスしても排他処理されないですよね?
どうもうまく読めてないのが原因かもしれない障害が発生して困っています。
どうすれば排他処理できるでしょうか。
11: (アウアウエー Sa3f-RDgh) 2019/04/03(水)19:55 ID:ZPobjXHOa(1)調 AAS
読むだけなら排他は要らないんじゃない
12: (ワッチョイ 0f63-r4m/) 2019/04/03(水)20:00 ID:ZmtTnpp/0(1)調 AAS
書き込みされたとき、どうなるかな
13: (ワッチョイ 6b8f-cGEb) 2019/04/03(水)20:13 ID:OJDzRIb+0(1/3)調 AAS
排他処理の方法を考えようにも情報が少なすぎるよ。
14: (ワンミングク MMbf-QHAD) 2019/04/03(水)20:30 ID:6tuZKWrYM(2/2)調 AAS
レスありがとございます。
後だしですが、書き込みはされないです。そこまでかんがえてなかったですが。
リードだけなら大丈夫そうですね。だったら他のとこに問題があるのかな・・・
15: (アウアウウー Sa0f-dxKi) 2019/04/03(水)20:57 ID:GUjlsyjta(1)調 AAS
ファイル書いてる最中に読まないようにそのライブラリを使う側と書き込みする側のプログラムでロック掛けるようにするぐらいしか方法ないのでは?
ライブラリのソースもあって自分でも直せるというのなら自分でその辺改造しちゃえば良いんだろうけど。それだったらわざわざここに質問書かんよな?
16: (ワッチョイ 6b8f-cGEb) 2019/04/03(水)21:24 ID:OJDzRIb+0(2/3)調 AAS
そもそも1プロセスでもそのファイルをオープンできているのだろうか?
17: (ワッチョイ 3b7c-RDgh) 2019/04/03(水)21:44 ID:NesRjmW10(1)調 AAS
その障害の内容教えてくれんとな
18: (ワッチョイ 6b8f-cGEb) 2019/04/03(水)21:51 ID:OJDzRIb+0(3/3)調 AAS
どこまで説明したら適切なアドバイスもらえるかって実務にも重要な要素だよな。これも練習ですな。
19: (ワッチョイ 99da-iE/E) 2019/04/06(土)14:35 ID:sYe67fpI0(1)調 AAS
https://wandbox.org/

codepad死んだっぽいので次スレから代わりに↑をテンプレに入れよう
20: (アウアウウー Sac5-T5wd) 2019/04/08(月)10:46 ID:slzfC4/wa(1)調 AAS
ここどう?
https://www.jdoodle.com/
色んな言語使えるようだ。もちろんCもある。
21: (アウアウウー Sac5-L3CR) 2019/04/08(月)10:58 ID:czvLDSaVa(1)調 AAS
はい
22
(7): (ワッチョイ ee8f-hWz0) 2019/04/08(月)20:38 ID:j+rCFaIP0(1)調 AAS
fprintf_s みたいな
foo_s 系の関数実装って増えてるん?

「Visual C++ でガッコウのコードがコンパイルできない」みたいな話をたまに見かけるけど…
23
(1): (ワッチョイ 7d02-w1lf) 2019/04/08(月)20:55 ID:26lZNeBT0(1)調 AAS
セキュリティの為にfoo_sが推奨されてるんだから、ガッコウのコードの方を変えるべきでは?
何年経ったと思ってるんだ。
24
(1): ◆mxojKcXMM. (ワッチョイ 6247-BZhk) 2019/04/08(月)21:02 ID:PMJ1/1Ak0(1/4)調 AAS
>>22
その s 系とかいうやつは、いまいち気に要らない仕様でいちいち頭に来るので私は使わないです
25
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ c63e-k8NZ) 2019/04/08(月)21:17 ID:TICLg0mt0(1/3)調 AAS
>>23
_s 系の関数って言語仕様上はオプショナルでしょ。
安全でない関数の中で明確に仕様から削除されたのは
gets だけのはずだし、もちろん、安全性を意識させるのは
望ましいけど、どこでも _s 系の関数を使えるわけじゃない。

あくまでもオプショナルだから >>22 は「実装って」という聞き方をしているのだと思うぞ。
26
(2): ◆mxojKcXMM. (ワッチョイ 6247-BZhk) 2019/04/08(月)22:00 ID:PMJ1/1Ak0(2/4)調 AAS
>>25
Microsoft のコンパイラ以外では使えない、と聞いているのも納得がいかないのです、本当によいものなら、なぜ _s 系が移植されないのでしょうか…
27
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ c63e-k8NZ) 2019/04/08(月)22:21 ID:TICLg0mt0(2/3)調 AAS
>>26
そんなことを >>22 は聞いていない。
誤読。
28
(1): ◆QZaw55cn4c (ワッチョイ 6247-BZhk) 2019/04/08(月)22:27 ID:PMJ1/1Ak0(3/4)調 AAS
>>27
失礼。>>26>>22 への直接または間接の回答を意図しておりません
とある「有用な」実装が広く使われるべき、という意見に対して、microsoft のコンパイラ環境でしか使えない実装を教育目的で強要してもいいのか、というか、そもそもそんなに「有用」な実装なのですか?本当ですか?
という視点で >>22 を強く批判する内容です
29
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ c63e-k8NZ) 2019/04/08(月)22:35 ID:TICLg0mt0(3/3)調 AAS
>>28
_s 系の関数はオプショナルとは言えども規格にある存在なので、
Visual C++ は例のひとつとして挙がっているにすぎません。
間違いなくありがちな問題を軽減しますので、
使える処理系ならば使うように誘導するのは合理的です。
30
(2): ◆QZaw55cn4c (ワッチョイ 6247-BZhk) 2019/04/08(月)23:24 ID:PMJ1/1Ak0(4/4)調 AAS
>>29
お手数をおかけし恐縮ですが
「規格にある存在」というその規格をご教示願えますか?
手元にある ISO/IEC 9899:1999 には見えないようですが…
31: (ワッチョイ 698f-JThg) 2019/04/08(月)23:30 ID:dk5yj0CN0(1/2)調 AAS
visual studioで新しいプロジェクトを作成して始めてビルドする度に
/D _CRT_SECURE_NO_WARNINGS
に誘導されてます……
32: (アウアウカー Sa09-f9KT) 2019/04/08(月)23:46 ID:Z7UT2eMea(1/2)調 AAS
localtime_s 使ったら内部でmutex使ってて無茶苦茶遅いのはむかついた
33
(1): (アウアウカー Sa09-f9KT) 2019/04/08(月)23:48 ID:Z7UT2eMea(2/2)調 AAS
>>30
なぜそんな古いものを…
引数にvoid入れるとびっくりするタイプ?
34: (ワッチョイ 698f-JThg) 2019/04/08(月)23:50 ID:dk5yj0CN0(2/2)調 AAS
localtimeについては批判できねぇ。
マルチスレッドでlocaltime呼び出してたせいで正体不明のバグに数日間悩まされたからな。。。
35
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ c63e-k8NZ) 2019/04/09(火)03:49 ID:jYkGM3GN0(1/5)調 AAS
>>30
C99 には無い。 C11 に入った。
Annex K (normative) Bounds-checking interfaces
って項目ね。
Wipkipedia でも言及がある。
https://ja.wikipedia.org/wiki/C11_(C%E8%A8%80%E8%AA%9E)#.E3.82.AA.E3.83.97.E3.82.B7.E3.83.A7.E3.83.B3.E6.A9.9F.E8.83.BD
36
(1): (ワッチョイ ee8f-hWz0) 2019/04/09(火)07:47 ID:lax+sHP30(1/2)調 AAS
>>22
> fprintf_s みたいな
> foo_s 系の関数実装って増えてるん?

「いや増えてない」←わかる
「俺は foo_s みたいな関数が嫌い」←わかる
「俺は foo_s みたいな関数が嫌いだから >>22 を強く批判する」←全く分からない

誰か解説してくれるのだろうか

私は「ガッコウのセンセイ」でもないし「ガッコウの教材」の著者でもないから何とも
新学期だから知恵袋とかに質問増えそうじゃん?
37: (ワッチョイ 698f-JThg) 2019/04/09(火)07:52 ID:vvoqC9qD0(1)調 AAS
>>22 を批判してるんじゃなくて>>22 にかかれてるような状況を批判してるんじゃないの?
38: (ワッチョイ 912d-iMOx) 2019/04/09(火)09:52 ID:EB2iO7oh0(1/2)調 AAS
>>24
同感
いけ好かねえの多いよな
39: (ワッチョイ ee63-k8NZ) 2019/04/09(火)09:56 ID:A5vZx8Gh0(1/3)調 AAS
>という視点で >>22 を強く批判する内容です

そう解釈してやっても良いが、この日本語はおかしい
40: (スッップ Sda2-JThg) 2019/04/09(火)10:28 ID:AXiDgdzZd(1/6)調 AAS
話それちゃうよ?
41: (アウアウウー Sac5-T5wd) 2019/04/09(火)13:13 ID:xq+Mg1lAa(1)調 AAS
漢なら localtime_r()
42
(1): (スッップ Sda2-JThg) 2019/04/09(火)13:25 ID:AXiDgdzZd(2/6)調 AAS
真の漢なら
#ifdef _win32
localtime_s()
#else
localtime_r()
#endif
43
(2): はちみつ餃子◆8X2XSCHEME (ワッチョイ c63e-k8NZ) 2019/04/09(火)13:27 ID:jYkGM3GN0(2/5)調 AAS
>>42
__STDC_LIB_EXT1__ を使った方がポータブルじゃない?
1-
あと 959 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s