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言語なら俺に聞け 142
http://mevius.2ch.net/test/read.cgi/tech/1502364083/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
C言語なら俺に聞け 143
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ b375-rVGZ)
2017/10/27(金) 21:28:08.20ID:pAogLeJi0683デフォルトの名無しさん (ワッチョイ 6681-NeLc)
2017/12/03(日) 19:21:36.44ID:VV4Obou10 演劇の台本や楽譜と同じかも
684デフォルトの名無しさん (スップ Sd0a-DJnL)
2017/12/03(日) 19:24:20.13ID:cNDBFknwd プログラムと呼ぶね。
685デフォルトの名無しさん (ワッチョイ 3d9f-JjO2)
2017/12/03(日) 19:37:50.46ID:iOWX59aS0 >>682
個人的にはComputer=計算機ってのはかなり違和感があるんだよね。
プログラミングって、むしろシーケンサだろ。(処理手続きをひたすら記述する)
数学に似てるのは、結局、チューリングマシンからきてるのだと思う。
もちろん「このプログラミング言語はチューリング完全です」なんてやってるのは数学者であって。
これとは逆に、ニューラルネットワークなんて、正直、まともに証明すらされてないだろ。
なんだか分からないけどうまくいきます、程度であって、
ニューラルネットワークがチューリング完全なのかどうか、誰も証明して無いと思うし、(俺の知る限り)
それ以前に、プログラミングなんて出来る状態じゃない。
今も機械学習で係数を探している程度、つまりトライアンドエラーしか出来ていないわけであってさ。
だから、将来的にニューラルネットワーク等、チューリングマシン以外をプログラミングできるようになれば、
数学じゃないプログラミング手法が見つかる可能性はあると思う。
実際、機械学習自体は物理/数学の教え方(理論を教えてそれを適用)ではなく、
語学の教え方(習うより慣れろで、ひたすら知識(結果)を積み上げる)に近いし。
個人的にはComputer=計算機ってのはかなり違和感があるんだよね。
プログラミングって、むしろシーケンサだろ。(処理手続きをひたすら記述する)
数学に似てるのは、結局、チューリングマシンからきてるのだと思う。
もちろん「このプログラミング言語はチューリング完全です」なんてやってるのは数学者であって。
これとは逆に、ニューラルネットワークなんて、正直、まともに証明すらされてないだろ。
なんだか分からないけどうまくいきます、程度であって、
ニューラルネットワークがチューリング完全なのかどうか、誰も証明して無いと思うし、(俺の知る限り)
それ以前に、プログラミングなんて出来る状態じゃない。
今も機械学習で係数を探している程度、つまりトライアンドエラーしか出来ていないわけであってさ。
だから、将来的にニューラルネットワーク等、チューリングマシン以外をプログラミングできるようになれば、
数学じゃないプログラミング手法が見つかる可能性はあると思う。
実際、機械学習自体は物理/数学の教え方(理論を教えてそれを適用)ではなく、
語学の教え方(習うより慣れろで、ひたすら知識(結果)を積み上げる)に近いし。
686デフォルトの名無しさん (ワッチョイ ea87-UEA0)
2017/12/03(日) 19:49:02.04ID:mBtOatwk0 ところで、人工知能のバグ取りってどうやんの?
それともダメな子だから抹殺しちゃうの?
それともダメな子だから抹殺しちゃうの?
687片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd0a-umKW)
2017/12/03(日) 19:55:52.62ID:Tj0BwQTkd 人格と知識は分離可能になるだろう。人格モジュールを切り替えたり、アップデートするんだろう。
688デフォルトの名無しさん (アークセー Sxbd-DJnL)
2017/12/03(日) 19:56:57.90ID:P+US4smox >>686
中共ならね。
中共ならね。
689片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd0a-umKW)
2017/12/03(日) 19:59:03.71ID:Tj0BwQTkd 自分自身が間違っていると判定されたら(サニティチェック)、「人格を初期化または取り換えて下さい」と表示される。
690デフォルトの名無しさん (アウアウカー Sa55-iHXH)
2017/12/03(日) 19:59:37.86ID:Gq7SJlPXa >>683
あー。楽譜ね。そうだね。
あー。楽譜ね。そうだね。
691デフォルトの名無しさん (ワッチョイ 39c7-ckDd)
2017/12/03(日) 20:28:07.15ID:ygxXPxE/0 何この流れ
692デフォルトの名無しさん (ワッチョイ f18a-9xBG)
2017/12/03(日) 23:11:24.01ID:/SSODGhG0693デフォルトの名無しさん (ワッチョイ 398a-fjL1)
2017/12/03(日) 23:16:12.49ID:HfDj5Ysw0 シーケンサー(通称PC)はアセンブラもあったりするけど
基本デノイマンだよ。
基本デノイマンだよ。
694デフォルトの名無しさん (ワッチョイ 3d9f-JjO2)
2017/12/04(月) 01:19:52.82ID:WOZLf3PZ0 >>692
それはCに階層記述能力が欠けているからだ。
例えばNode(JavaScript)のコーディングルールでは、関数は15行以下にしろとなっている。
> Write small functions
> Keep your functions short. A good function fits on a slide that the people in the last row of a big room can comfortably read.
> So don't count on them having perfect vision and limit yourself to ~15 lines of code per function.
> https://github.com/felixge/node-style-guide#functions-1
やれば分かるが、15行で書く為には、中位記述と下位記述を明確に分け、下位記述は全て関数で括り出すことになる。
このとき、中位記述の関数はベタに手続きだけひたすら書くことになる。
俺も最初は戸惑ったが、実際、この方が読みやすいし、自己ドキュメント化する。
ただしCだとこれはちと辛い。
JavaScriptだとそもそも下位記述がほぼ無く、大体何かしらのメソッドを呼んで終わるし、
階層を自由に作成できるし、プロトタイプ宣言も必要ないし、デフォでクロージャだから外変数を自由に掴める。(引数にする必要がない)
Cだと関数内関数が出来ないし、プロトタイプ宣言も必要だし、全部引数で渡さないといけないし、
GCも無いから宣言スタイルでも書きにくい。また、関数呼び出しも無駄ならケチる文化もある。
最大15行なら、実際は5-10行の関数が氾濫することになるのだが、Cでこれをやるとよけいに読みにくくなる。
だから、Cでは珍しいだろうけど、JavaScript等手抜き系スクリプト言語だったら割と普通だったりするはずだよ。
それはCに階層記述能力が欠けているからだ。
例えばNode(JavaScript)のコーディングルールでは、関数は15行以下にしろとなっている。
> Write small functions
> Keep your functions short. A good function fits on a slide that the people in the last row of a big room can comfortably read.
> So don't count on them having perfect vision and limit yourself to ~15 lines of code per function.
> https://github.com/felixge/node-style-guide#functions-1
やれば分かるが、15行で書く為には、中位記述と下位記述を明確に分け、下位記述は全て関数で括り出すことになる。
このとき、中位記述の関数はベタに手続きだけひたすら書くことになる。
俺も最初は戸惑ったが、実際、この方が読みやすいし、自己ドキュメント化する。
ただしCだとこれはちと辛い。
JavaScriptだとそもそも下位記述がほぼ無く、大体何かしらのメソッドを呼んで終わるし、
階層を自由に作成できるし、プロトタイプ宣言も必要ないし、デフォでクロージャだから外変数を自由に掴める。(引数にする必要がない)
Cだと関数内関数が出来ないし、プロトタイプ宣言も必要だし、全部引数で渡さないといけないし、
GCも無いから宣言スタイルでも書きにくい。また、関数呼び出しも無駄ならケチる文化もある。
最大15行なら、実際は5-10行の関数が氾濫することになるのだが、Cでこれをやるとよけいに読みにくくなる。
だから、Cでは珍しいだろうけど、JavaScript等手抜き系スクリプト言語だったら割と普通だったりするはずだよ。
695デフォルトの名無しさん (ワッチョイ a66e-hJGX)
2017/12/04(月) 05:34:47.44ID:k2OIwnad0 ただ単にCが嫌いなだけだね
696デフォルトの名無しさん (ワッチョイ 6d81-JjO2)
2017/12/04(月) 06:16:54.02ID:+uAdunIC0 Cはクラスがないせいで戻り値が使い物にならん
中でMallocして返すとすぐメモリリークする
文字列や配列を扱う関数は
第一引数と第二引数に結果格納用の配列と最大長を渡すというまだるっこしい作業をせんといかん
Cで言語を学ぶと悪いコーディングの癖がついてしまう
中でMallocして返すとすぐメモリリークする
文字列や配列を扱う関数は
第一引数と第二引数に結果格納用の配列と最大長を渡すというまだるっこしい作業をせんといかん
Cで言語を学ぶと悪いコーディングの癖がついてしまう
697デフォルトの名無しさん (ワッチョイ a66e-hJGX)
2017/12/04(月) 06:36:05.53ID:k2OIwnad0698デフォルトの名無しさん (ワッチョイ 6d81-JjO2)
2017/12/04(月) 19:47:02.53ID:+uAdunIC0 そんなにばかなことをいっただろうか
699デフォルトの名無しさん (アウアウカー Sa55-iHXH)
2017/12/04(月) 19:55:28.93ID:vegQ3dVaa 馬鹿っぽさ満載
700デフォルトの名無しさん (ササクッテロル Spbd-UEA0)
2017/12/04(月) 20:03:09.02ID:8HzNB2U5p オブジェクトへのポインタを1つ追加するだけでリエントラントな作りになるだろうに。
701デフォルトの名無しさん (アウアウカー Sa55-iHXH)
2017/12/04(月) 20:15:20.01ID:vegQ3dVaa 構造体へのポインタでも使ってくれ
>>696
それがいい習慣というものです、配列(の先頭)と文字列長をセットで扱うのは基本中の基本です
win32api をみればわかりますが、一度目には自分が用意しなければならない領域の大きさについてお伺いをたててから、
二度目にやっと目的の情報を手に入れる、これは C ではセットですね
c++ で文字列型のような便利なアイテムを使っていたために、だんだん馬鹿になってきていたことに、最近ようやく気がつきました:−)
それがいい習慣というものです、配列(の先頭)と文字列長をセットで扱うのは基本中の基本です
win32api をみればわかりますが、一度目には自分が用意しなければならない領域の大きさについてお伺いをたててから、
二度目にやっと目的の情報を手に入れる、これは C ではセットですね
c++ で文字列型のような便利なアイテムを使っていたために、だんだん馬鹿になってきていたことに、最近ようやく気がつきました:−)
703デフォルトの名無しさん (ワッチョイ 5db3-7XMe)
2017/12/04(月) 20:28:21.15ID:jfjVyC4z0 バッファの大きさを受けて範囲内で書き込む sprintf じゃなくて
sprintf のフォーマット処理した結果、こんだけの大きさが欲しいって答える関数はないのかな
sprintf のフォーマット処理した結果、こんだけの大きさが欲しいって答える関数はないのかな
>>703
そうそう、それほしいですね
そうそう、それほしいですね
705デフォルトの名無しさん (アウアウカー Sa55-iHXH)
2017/12/04(月) 20:43:45.92ID:vegQ3dVaa >>703
snprintf
snprintf
707デフォルトの名無しさん (ワッチョイ 5db3-7XMe)
2017/12/04(月) 20:50:25.96ID:jfjVyC4z0708デフォルトの名無しさん (ワッチョイ 5db3-7XMe)
2017/12/04(月) 21:02:20.28ID:jfjVyC4z0 >>707 自己レス
C99 から戻り値が完全な長さを答えてくれるみたい
なので len = snprintf(buf, 0, .... ); len+1 以上確保して snprintf(buf, len+1, .... );
これが出来るのか
C99 から戻り値が完全な長さを答えてくれるみたい
なので len = snprintf(buf, 0, .... ); len+1 以上確保して snprintf(buf, len+1, .... );
これが出来るのか
710デフォルトの名無しさん (ワッチョイ 967f-HOnN)
2017/12/04(月) 22:32:25.86ID:TOOi+5oW0 >>708
普通は、とりあえずやってみて戻り値判定したあと切り捨てられていたら大きめのバッファにreallocしてつかうんじゃないかな。
確保するメモリサイズは一定の方がいいと思うんだ。
まぁ、Cなら大抵の場合、サイズオーバーでエラー処理へとばす気もするけれど。。。。
普通は、とりあえずやってみて戻り値判定したあと切り捨てられていたら大きめのバッファにreallocしてつかうんじゃないかな。
確保するメモリサイズは一定の方がいいと思うんだ。
まぁ、Cなら大抵の場合、サイズオーバーでエラー処理へとばす気もするけれど。。。。
711デフォルトの名無しさん (ワッチョイ 6d9f-HgL3)
2017/12/04(月) 22:35:03.23ID:iGjrIGoV0 asprintf() も良いよね。
GNUの拡張だけど。
GNUの拡張だけど。
712デフォルトの名無しさん (ブーイモ MM8e-cp23)
2017/12/05(火) 00:24:41.12ID:64NxbaBtM a55h01e()もいいぞ
拡張するとアレだけど
拡張するとアレだけど
713デフォルトの名無しさん (ワッチョイ 1e8a-mhkU)
2017/12/05(火) 01:57:36.13ID:hFLcfi/C0714デフォルトの名無しさん (ワッチョイ 3d93-kA4S)
2017/12/05(火) 06:27:11.01ID:h9iE2Dgl0715デフォルトの名無しさん (アウアウカー Sa55-iHXH)
2017/12/05(火) 09:17:09.05ID:lXQHSkZJa716デフォルトの名無しさん (ワッチョイ a66e-hJGX)
2017/12/05(火) 10:03:46.62ID:5svgdXUG0 asshole
717デフォルトの名無しさん (スプッッ Sdea-DJnL)
2017/12/05(火) 10:08:31.35ID:hd3ECn32d >>712
ムカついたらその関数名いただくわ。
ムカついたらその関数名いただくわ。
719デフォルトの名無しさん (ワッチョイ 3d93-kA4S)
2017/12/05(火) 19:06:50.63ID:h9iE2Dgl0 -able は「〜することができる」という意味を加える接尾語と解釈できるから
azn と略せる何か動詞っぽい操作を思いつけば char aznable; を
「合法的に」使うことができるね。
単なるフラグなら int なり bool なりを使え、と言われると弱いけど。
azn と略せる何か動詞っぽい操作を思いつけば char aznable; を
「合法的に」使うことができるね。
単なるフラグなら int なり bool なりを使え、と言われると弱いけど。
720デフォルトの名無しさん (ワッチョイ a99f-kgrz)
2017/12/05(火) 20:13:34.78ID:bbZMw2AU0721デフォルトの名無しさん (ワッチョイ 1e8a-mhkU)
2017/12/05(火) 22:18:54.85ID:hFLcfi/C0 15行の関数量産したらfunc1, func2, ...となるのが目に見えている
途中の欠番で変更履歴の推測も可能
素晴らしいドキュメントだな
途中の欠番で変更履歴の推測も可能
素晴らしいドキュメントだな
722デフォルトの名無しさん (ワッチョイ 6d81-JjO2)
2017/12/05(火) 22:26:12.48ID:CCSnWp9D0 なるわけないだろ絶対ならない
723デフォルトの名無しさん (ワッチョイ b5b3-9GJZ)
2017/12/05(火) 22:46:50.50ID:oTa/T8dQ0 ファンクなあ。
アシッドテイストを入れてもう少しオサレな感じにすれば爆発的にヒットするだろうになあ。
アシッドテイストを入れてもう少しオサレな感じにすれば爆発的にヒットするだろうになあ。
724デフォルトの名無しさん (ワッチョイ 3d9f-JjO2)
2017/12/05(火) 23:16:38.70ID:KWhjoBwr0 >>721
私は馬鹿です、まで読んだ
私は馬鹿です、まで読んだ
725デフォルトの名無しさん (ワッチョイ 6681-NeLc)
2017/12/06(水) 00:22:59.42ID:6EAgLXyL0 関数名はプログラマがこう動いて欲しいという願望まで
726デフォルトの名無しさん (ブーイモ MM8e-cp23)
2017/12/06(水) 00:44:05.84ID:2vt65plVM func なんて関数名見かけたら fack に置き換えるわ
727デフォルトの名無しさん (スップ Sdea-aUI1)
2017/12/06(水) 01:05:14.08ID:fTW9mDM3d oh miso sperm
728デフォルトの名無しさん (ワッチョイ 7db3-VWpS)
2017/12/06(水) 08:50:44.53ID:GNciMIPS0 変数名とか省略禁止なのにfunc
729デフォルトの名無しさん (アウアウカー Sa55-HgTM)
2017/12/06(水) 11:23:20.22ID:2AYHpw2Ha もうkansuu()って関数名にしとけよ
730デフォルトの名無しさん (ワッチョイ b623-ZQia)
2017/12/06(水) 11:49:40.40ID:vFG2ezd00 >>728
ドイツ語とか関数名変数名だけでコード9割埋まりそう
ドイツ語とか関数名変数名だけでコード9割埋まりそう
731デフォルトの名無しさん (アウアウカー Sa55-kbEZ)
2017/12/06(水) 12:26:30.14ID:C/WFYzI6a そう考えると世のプログラミング言語のベースが中国語だったら表意文字だしだいぶ可読性高そう
732デフォルトの名無しさん (ワッチョイ a5ea-7XMe)
2017/12/06(水) 12:52:19.56ID:okTVVyb50 その昔日本語BASICってあった
733デフォルトの名無しさん (ササクッテロル Spbd-UEA0)
2017/12/06(水) 13:38:02.28ID:VY+2C2cGp 日本語はむしろ同じ物を表す書き方が平仮名片仮名漢字と何通りもあるから面倒だろ。
734デフォルトの名無しさん (アウアウカー Sa55-m9bV)
2017/12/06(水) 14:11:49.30ID:UBdFOzE6a 表のように与えられた時各学年の人数と全校の人数をふ計算するプログラムを教えてください。
できれば今日中に。
1組 2組 3組 4組 5組
1年 33 35 34 32 36
2年 34 33 35 33 31
3年 31 32 36 30 35
できれば今日中に。
1組 2組 3組 4組 5組
1年 33 35 34 32 36
2年 34 33 35 33 31
3年 31 32 36 30 35
735デフォルトの名無しさん (ワッチョイ 5d8a-J59I)
2017/12/06(水) 17:00:52.31ID:WZX+cLKR0 入力させる文字の指定ってstrchrでOKです?
736片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd0a-umKW)
2017/12/06(水) 17:23:48.59ID:uR2+ZG62d 婦警さん?
737デフォルトの名無しさん (ワッチョイ 8a87-8ufQ)
2017/12/06(水) 17:35:06.56ID:dghGKPLV0 >>734
明日の朝、学校行く前に覗いてみ
明日の朝、学校行く前に覗いてみ
738デフォルトの名無しさん (ワッチョイ 3d93-kA4S)
2017/12/06(水) 17:36:10.79ID:mUQybk730 >>734 は学校の宿題か課題の代行をタダでやってくれ、みたいに見えるなぁ。
親切心で教えることが質問者のためになるか疑問ってこと。
元のデータはどういう形で与えられるのかな。
質問の内容から見て、学年数もクラス数も一定で
配列としてソースファイルに埋め込みで良さそうだけど。
学年数やクラス数まで実行時の入力によって可変、となると
かなり面倒な話になるね。
親切心で教えることが質問者のためになるか疑問ってこと。
元のデータはどういう形で与えられるのかな。
質問の内容から見て、学年数もクラス数も一定で
配列としてソースファイルに埋め込みで良さそうだけど。
学年数やクラス数まで実行時の入力によって可変、となると
かなり面倒な話になるね。
739デフォルトの名無しさん (ワッチョイ 8a87-8ufQ)
2017/12/06(水) 17:55:56.74ID:dghGKPLV0 安心して翌朝覗いてみたら何も上がってないという寸法さ
740デフォルトの名無しさん (スプッッ Sd0a-hmNI)
2017/12/06(水) 18:30:27.51ID:YX7yBjoZd execve関数を使うためにclearenv()で環境変数を初期化すると手順にあるのだけど
この関数の影響範囲をどう調べればわかるか調べ方もしくは影響範囲が知りたいです
manページを見ても名前と値の組の環境変数を〜みたいな話しかなくて困ってます
この関数の影響範囲をどう調べればわかるか調べ方もしくは影響範囲が知りたいです
manページを見ても名前と値の組の環境変数を〜みたいな話しかなくて困ってます
741デフォルトの名無しさん (ワッチョイ 599e-WpQb)
2017/12/06(水) 18:48:00.75ID:8+NPe2ry0 マージャンの符計算かな
742デフォルトの名無しさん (アウアウカー Sa55-iHXH)
2017/12/06(水) 20:41:52.15ID:5GqDQnIfa743デフォルトの名無しさん (アウアウカー Sa55-iHXH)
2017/12/06(水) 20:42:56.94ID:5GqDQnIfa >>735
君のやりたいことがよくわからない。
君のやりたいことがよくわからない。
744デフォルトの名無しさん (アウアウカー Sa55-iHXH)
2017/12/06(水) 20:50:51.97ID:5GqDQnIfa >>740
影響範囲?そりゃ環境変数使うプログラム全てだろう。特にPATH使うようなやつ(外部コマンドをフルパス使わずに動かす可能性のあるプログラム)は影響受けるよね。
その他、動かすコマンドによって影響は違うと思う。これから動かそうとしているコマンドがどういう環境変数を使うかに掛かっている。だからこうだと固定的に言うことができない。
影響範囲?そりゃ環境変数使うプログラム全てだろう。特にPATH使うようなやつ(外部コマンドをフルパス使わずに動かす可能性のあるプログラム)は影響受けるよね。
その他、動かすコマンドによって影響は違うと思う。これから動かそうとしているコマンドがどういう環境変数を使うかに掛かっている。だからこうだと固定的に言うことができない。
745デフォルトの名無しさん (スプッッ Sd6d-hmNI)
2017/12/06(水) 21:47:43.97ID:9SICms2Nd >>744
無知ですまんが
環境変数をクリアするってことは要はLD_LIBRARY_PATHに登録されてるものをすべて無にするってことなのだろうか
これは一時的なもの?それとも永続的なもの?
ここらを参考にsystem関数ではなくexecveを使う方針になったのだけど
むしろ改悪になってるんじゃないかとなってきている
https://www.jpcert.or.jp/sc-rules/c-env33-c.html
http://www.jpcert.or.jp/m/sc-rules/c-env03-c.html
下を読んでなんとなく何がリセットされるのかはわかってきたけども
それがどう影響を与えるのだろうかと
https://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/c703.html
無知ですまんが
環境変数をクリアするってことは要はLD_LIBRARY_PATHに登録されてるものをすべて無にするってことなのだろうか
これは一時的なもの?それとも永続的なもの?
ここらを参考にsystem関数ではなくexecveを使う方針になったのだけど
むしろ改悪になってるんじゃないかとなってきている
https://www.jpcert.or.jp/sc-rules/c-env33-c.html
http://www.jpcert.or.jp/m/sc-rules/c-env03-c.html
下を読んでなんとなく何がリセットされるのかはわかってきたけども
それがどう影響を与えるのだろうかと
https://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/c703.html
746デフォルトの名無しさん (スプッッ Sd6d-hmNI)
2017/12/06(水) 21:52:07.31ID:9SICms2Nd 下記のように書いてあるけども
むしろ影響範囲でか過ぎるんじゃねぇか?ってのが困ってるところ
確かに改竄とかの対策にはなるとは思うんだけど
リセットしてしまったことによって使えなくなるものについてはどう担保するのかがわからない
このクリアが呼び出した関数内だけなのか、呼び出したプロセスやスレッドだけなのか、呼び出したら再起動までずっとなのか、呼び出したら再起動しても以降ずっとなのかと
(2) 環境変数のクリア
外部プログラムをコールする(exec(3))前に、環境変数をすべてクリアするとより安全になる。環境変数をクリアするには、clearenv(3) をコールすればよい。
clearenv(3) が無い環境では、以下のように extern char **environ 変数を直接クリアする。
environ = NULL;
※上記の方法で環境変数をクリアしても、system (3) による子プロセスの環境変数は、クリアされず再設定されたものになる。
むしろ影響範囲でか過ぎるんじゃねぇか?ってのが困ってるところ
確かに改竄とかの対策にはなるとは思うんだけど
リセットしてしまったことによって使えなくなるものについてはどう担保するのかがわからない
このクリアが呼び出した関数内だけなのか、呼び出したプロセスやスレッドだけなのか、呼び出したら再起動までずっとなのか、呼び出したら再起動しても以降ずっとなのかと
(2) 環境変数のクリア
外部プログラムをコールする(exec(3))前に、環境変数をすべてクリアするとより安全になる。環境変数をクリアするには、clearenv(3) をコールすればよい。
clearenv(3) が無い環境では、以下のように extern char **environ 変数を直接クリアする。
environ = NULL;
※上記の方法で環境変数をクリアしても、system (3) による子プロセスの環境変数は、クリアされず再設定されたものになる。
747片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd0a-umKW)
2017/12/06(水) 22:02:02.99ID:uR2+ZG62d 婦警さんするなら、婦警の制服が必要。
748デフォルトの名無しさん (ワッチョイ 6d9f-nek4)
2017/12/06(水) 22:02:54.34ID:u7C0REjG0 >>745
一時的もなにもそれを実行したプロセスとそのプロセスからexecしたプロセスにしか影響しないよ。だからfork()後に子プロセスだけでやるなら親プロセスには影響しないしその他無関係なプロセスにも影響はない。
一時的もなにもそれを実行したプロセスとそのプロセスからexecしたプロセスにしか影響しないよ。だからfork()後に子プロセスだけでやるなら親プロセスには影響しないしその他無関係なプロセスにも影響はない。
749デフォルトの名無しさん (ワッチョイ 6d9f-nek4)
2017/12/06(水) 22:05:07.83ID:u7C0REjG0 >>745
環境変数はシステム全体で一箇所に持っているものではなくプロセス単位で持ってるものだからね。そしてexecの時に引き継ぐ事もできるようになってるだけ。
環境変数はシステム全体で一箇所に持っているものではなくプロセス単位で持ってるものだからね。そしてexecの時に引き継ぐ事もできるようになってるだけ。
750デフォルトの名無しさん (スプッッ Sd6d-hmNI)
2017/12/06(水) 22:31:14.96ID:9SICms2Nd751デフォルトの名無しさん (ワッチョイ 6d9f-HgL3)
2017/12/06(水) 23:56:33.03ID:QVT4XBLu0 >>750
環境変数は大昔から使われているものでどのOSでも多分同じだ。
まずはここを見ると良い。
https://ja.wikipedia.org/wiki/%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0
環境変数は大昔から使われているものでどのOSでも多分同じだ。
まずはここを見ると良い。
https://ja.wikipedia.org/wiki/%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0
752デフォルトの名無しさん (ワッチョイ 17d3-vw7f)
2017/12/07(木) 00:29:29.78ID:X12IxieF0 初心者です
時間取得の関数で待ち時間を作るの方法は使わずに、
現在の処理の完了した後、次の処理に移らせるにはどのようにすればいいんですか?
現在の処理が始まった瞬間に次の処理に移ってしまいます
現在の処理とは、マウスポインタの操作です
お願いします
時間取得の関数で待ち時間を作るの方法は使わずに、
現在の処理の完了した後、次の処理に移らせるにはどのようにすればいいんですか?
現在の処理が始まった瞬間に次の処理に移ってしまいます
現在の処理とは、マウスポインタの操作です
お願いします
753デフォルトの名無しさん (ワッチョイ d79f-qmOZ)
2017/12/07(木) 00:53:41.38ID:9lSPChPb0 >>752
おそらくそれだけの説明では大半の人が答えられないと思う。(エスパーを除く)
おそらくそれだけの説明では大半の人が答えられないと思う。(エスパーを除く)
754デフォルトの名無しさん (ワッチョイ 9f87-Nf6k)
2017/12/07(木) 01:27:41.37ID:07dplzZ20 マウスイベントの取得はOSの仕事
OSのAPIドキュメント見れ
OSのAPIドキュメント見れ
755デフォルトの名無しさん (スップ Sd3f-KxrP)
2017/12/07(木) 07:52:13.51ID:6ZyfpAbkd756デフォルトの名無しさん (ワッチョイ 5793-3gxb)
2017/12/07(木) 08:07:08.94ID:W1nCZ1Cb0 >>755
「概要」の第3段落冒頭かな。
「環境変数は、各プロセスに付随するデータである」
この1文から「プロセスごとに環境変数は独立」を読み解くのは
この手の文章に対する程度の慣れが要求されるかも。
「概要」の第3段落冒頭かな。
「環境変数は、各プロセスに付随するデータである」
この1文から「プロセスごとに環境変数は独立」を読み解くのは
この手の文章に対する程度の慣れが要求されるかも。
757756 (ワッチョイ 5793-3gxb)
2017/12/07(木) 08:28:21.42ID:W1nCZ1Cb0 最後の行は言うまでもなく「ある程度の慣れ」が正しい。
「ある」を打ち忘れたアル。
「ある」を打ち忘れたアル。
758デフォルトの名無しさん (スップ Sd3f-KxrP)
2017/12/07(木) 10:59:56.67ID:6ZyfpAbkd759デフォルトの名無しさん (ササクッテロル Sp8b-lv8k)
2017/12/07(木) 11:16:17.60ID:jWS70WF+p マトリックス・リローデッドみたいな話だな。
760デフォルトの名無しさん (ブーイモ MMbb-t4sk)
2017/12/07(木) 11:44:46.46ID:CZv4Zvq/M761デフォルトの名無しさん (スップ Sd3f-KxrP)
2017/12/07(木) 12:10:49.09ID:6ZyfpAbkd >>760
そいつというと親プロセスでしょうか子プロセスでしょうか
知りたいこととしてはwaitpidを親プロセスが処理を抜けるタイミングについてです
エラーを受けたら抜ける、正常に終了したら抜けるってのはわかったのですが、
これ以外にwaitを解くタイミングがないのかと
そいつというと親プロセスでしょうか子プロセスでしょうか
知りたいこととしてはwaitpidを親プロセスが処理を抜けるタイミングについてです
エラーを受けたら抜ける、正常に終了したら抜けるってのはわかったのですが、
これ以外にwaitを解くタイミングがないのかと
762デフォルトの名無しさん (ブーイモ MMcf-t4sk)
2017/12/07(木) 18:20:26.00ID:8aHRDFHpM >>761
waitpidの仕様を聞くんじゃなくて、何をしたいか書く方が早いよ
waitpidの仕様を聞くんじゃなくて、何をしたいか書く方が早いよ
763デフォルトの名無しさん (ワッチョイ 57b3-4bIM)
2017/12/07(木) 18:30:02.50ID:3Bgd1/LJ0 ゲスパーするとタイムアウト付で waitpid のブロッキングから帰ってきて欲しいんでないの?
764デフォルトの名無しさん (ブーイモ MMcf-t4sk)
2017/12/07(木) 20:44:53.40ID:8aHRDFHpM ブロックしないオプション知らないのかな
manまったく読めてねーな
manまったく読めてねーな
765デフォルトの名無しさん (ワッチョイ 1feb-F7Qh)
2017/12/08(金) 09:22:37.83ID:T81djMMQ0766デフォルトの名無しさん (ワッチョイ bfe7-IpD3)
2017/12/08(金) 10:17:23.50ID:/XUBF9/70 “Hello, Work”標準派遣のシゴトとしくみ
767デフォルトの名無しさん (アウアウカー Saeb-f0yR)
2017/12/08(金) 11:13:03.88ID:Zfsy2JHoa サイバーセールは他に買いたいものがいろいろあるからなあ
768デフォルトの名無しさん (ワッチョイ 17b3-LVSJ)
2017/12/09(土) 19:00:18.23ID:wLDySn0e0 乱数を使って異なる4つの数を作りたい
色々調べると a[10] = {0,1,2,〜,9};
を作って4つランダムに抜き出すとかも見つけたんだけどこれでも重複回避方法がわからん...
色々調べると a[10] = {0,1,2,〜,9};
を作って4つランダムに抜き出すとかも見つけたんだけどこれでも重複回避方法がわからん...
769デフォルトの名無しさん (ワンミングク MM7f-kRO6)
2017/12/09(土) 19:24:47.38ID:iPTGHqKhM770デフォルトの名無しさん (ワッチョイ bfb6-QZHg)
2017/12/09(土) 19:28:52.45ID:oe+MwYG+0 >>769
乱数を作りたいと言ってるわけじゃないわけでー
乱数を作りたいと言ってるわけじゃないわけでー
771片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ 17b3-n3/l)
2017/12/09(土) 19:31:17.31ID:nSkNRr7y0 n個の中から1つ選ぶ。
n-1個の中から1つ選ぶ。
n-2個の中から1つ選ぶ。
。。。
n-1個の中から1つ選ぶ。
n-2個の中から1つ選ぶ。
。。。
772片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ 17b3-n3/l)
2017/12/09(土) 19:31:57.38ID:nSkNRr7y0 選んだものには印を付ける。
773デフォルトの名無しさん (ワッチョイ 9f12-F7Qh)
2017/12/09(土) 19:36:25.25ID:nZ8OLT0i0 配列に連番で入れて
配列をシャッフルして
配列の先頭から4個抜きとる
お手元のトランプで試してみろよ
絶対に重複しないから
配列をシャッフルして
配列の先頭から4個抜きとる
お手元のトランプで試してみろよ
絶対に重複しないから
774デフォルトの名無しさん (ワッチョイ 17b3-0+aW)
2017/12/09(土) 19:38:14.85ID:f1LM7KYB0 とりあえず異なる4つの数を作りたいって言ったけど最終目標がHit&Blowだからマクロについて学んでくる
775デフォルトの名無しさん (ワッチョイ 17b3-0+aW)
2017/12/09(土) 19:39:02.99ID:f1LM7KYB0 あっスマホとPCでID変わるんだった
776デフォルトの名無しさん (ワッチョイ 17b3-0+aW)
2017/12/09(土) 19:40:07.11ID:f1LM7KYB0 配列をシャッフルか...なるほど...
777デフォルトの名無しさん (ワッチョイ 5793-3gxb)
2017/12/09(土) 19:59:49.27ID:0DJ42hmW0 配列をシャッフルするって方法は、カードゲームや麻雀の洗牌で使うよね。
文字通りシャッフル、一揃いの順番を混ぜ合わせる操作として。
連番で初期化した配列の、乱数で選んだ2つのインデクスの要素同士を入れ替え。
ある程度の回数ループさせると重複なく順番がバラバラになる。
他には、素朴な乱数ルーチンと組み合わせて乱数の質を改善する方法として
乱数プール(配列)の中から乱数で選んだ(インデクスの)値を出すってのを
見たことがある。
最近は高品質な生成アルゴリズムを使うのだろうけど。
文字通りシャッフル、一揃いの順番を混ぜ合わせる操作として。
連番で初期化した配列の、乱数で選んだ2つのインデクスの要素同士を入れ替え。
ある程度の回数ループさせると重複なく順番がバラバラになる。
他には、素朴な乱数ルーチンと組み合わせて乱数の質を改善する方法として
乱数プール(配列)の中から乱数で選んだ(インデクスの)値を出すってのを
見たことがある。
最近は高品質な生成アルゴリズムを使うのだろうけど。
778デフォルトの名無しさん (ワッチョイ ff80-8EI8)
2017/12/09(土) 20:34:35.00ID:zmyZSbxv0 「Fisher-Yates shuffle」で検索!
779デフォルトの名無しさん (ワッチョイ 578c-FlEo)
2017/12/09(土) 20:41:26.15ID:gdFl+nNB0 >>連番で初期化した配列の、乱数で選んだ2つのインデクスの要素同士を入れ替え。
>>ある程度の回数ループさせると重複なく順番がバラバラになる。
それは初心者にありがちな悪手。回数を増やすと見た目はランダムっぽく
なるけどあまりランダムにならない。
1枚目を全体からの一様乱数、2枚目を残りから一様乱数、・・・という具合に選ぶのがいい
>>ある程度の回数ループさせると重複なく順番がバラバラになる。
それは初心者にありがちな悪手。回数を増やすと見た目はランダムっぽく
なるけどあまりランダムにならない。
1枚目を全体からの一様乱数、2枚目を残りから一様乱数、・・・という具合に選ぶのがいい
780片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdbf-n3/l)
2017/12/09(土) 21:03:49.72ID:uxECPca0d std::shuffle,
古いコンパイラならstd::random_shuffle
古いコンパイラならstd::random_shuffle
781デフォルトの名無しさん (ワッチョイ d79f-qmOZ)
2017/12/10(日) 06:04:19.96ID:J0bkBqjd0 それはC言語ではなかろう
782デフォルトの名無しさん (ワッチョイ bfe7-IpD3)
2017/12/10(日) 08:43:45.99ID:q697l8m20 リングバッファで選んでないものを探す。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★7 [七波羅探題★]
- 「そんなに米国が言う通りにやりたいのか」小泉氏、防衛費増額で立民・後藤祐一氏に反論 [少考さん★]
- 中国がここまで過敏になるのは日本に前科があるから。盧溝橋、満州事変。ジャップの先制攻撃は挙げればキリがないけど [472617201]
- 『猟友会がクマ駆除を嫌がるなら潰すべき。職務を放棄するハンターから免許や銃を没収して罰金を取ろう』の声、ネットで上がる [932029429]
- 犬って顔くっつけて寝たがるよな
- 【悲報】JA「全然米が売れなくて倉庫を圧迫してる。助けて!」米卸売り業者「安売りしたら赤字になる…助けて!」 [802034645]
- ひらがなの"ふ"、"な"がかけないFラン新入社員に激怒。学歴フィルターは必要と厳格化に踏み切った企業 [737440712]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★4 [597533159]
