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:pAogLeJi0771片山博文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 リングバッファで選んでないものを探す。
783デフォルトの名無しさん (ワッチョイ 17b3-LVSJ)
2017/12/10(日) 11:45:02.06ID:jSvVl/bp0 昨日の768です
Fisher-Yates shuffle
が凄く役に立ちました。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void shuffle(int ary[], int size);
int main(void) {
int list[10] = { 0,1,2,3,4,5,6,7,8,9 };
shuffle(list, 10);
for (int i = 0; i < 10; i++) {
printf("%d,", list[i]);
}
return 0;
}
void shuffle(int ary[], int size) {
for (int i = 0; i < size; i++) {
int j = rand() % size;
int t = ary[i];
ary[i] = ary[j];
ary[j] = t;
}
}
Fisher-Yates shuffle
が凄く役に立ちました。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void shuffle(int ary[], int size);
int main(void) {
int list[10] = { 0,1,2,3,4,5,6,7,8,9 };
shuffle(list, 10);
for (int i = 0; i < 10; i++) {
printf("%d,", list[i]);
}
return 0;
}
void shuffle(int ary[], int size) {
for (int i = 0; i < size; i++) {
int j = rand() % size;
int t = ary[i];
ary[i] = ary[j];
ary[j] = t;
}
}
784デフォルトの名無しさん (ワッチョイ 17b3-LVSJ)
2017/12/10(日) 11:47:09.13ID:jSvVl/bp0 これだと10桁表示されてしまうので、4桁分表示するように変更
色々有り難うございました
HitとBlowの処理行ってきます
色々有り難うございました
HitとBlowの処理行ってきます
785デフォルトの名無しさん (アウアウカー Saeb-I8sf)
2017/12/10(日) 18:48:03.62ID:xLxKGjo5a 4桁なら乱数4つ求めた後で重複調べてあったらまた求めるっての繰り返しても良いんじゃないか?
786デフォルトの名無しさん (ワッチョイ ff80-8EI8)
2017/12/11(月) 06:21:58.84ID:4q7JrCp00 arySize = 10
range = 0...arySize # 未満
ary = range.to_a
def shuffle(ary, size, range)
for i in range
j = Random.rand(size)
puts "i=#{i} ← j=#{j} : value #{ary[i]} ← #{ary[j]}"
ary[i], ary[j] = ary[j], ary[i]
end
end
shuffle(ary, arySize, range)
p ary
i=0 ← j=8 : value 0 ← 8
i=1 ← j=9 : value 1 ← 9
i=2 ← j=2 : value 2 ← 2
i=3 ← j=9 : value 3 ← 1
i=4 ← j=7 : value 4 ← 7
i=5 ← j=5 : value 5 ← 5
i=6 ← j=4 : value 6 ← 7
i=7 ← j=8 : value 4 ← 0
i=8 ← j=7 : value 4 ← 0
i=9 ← j=9 : value 3 ← 3
[8, 9, 2, 1, 6, 5, 7, 4, 0, 3]
>j = Random.rand(size)
Ruby で書いたけど、これだと、0〜9 のまま一定だろ。
Fisher-Yates shuffle では、ループの度に、1ずつ減らさないといけないよな?
range = 0...arySize # 未満
ary = range.to_a
def shuffle(ary, size, range)
for i in range
j = Random.rand(size)
puts "i=#{i} ← j=#{j} : value #{ary[i]} ← #{ary[j]}"
ary[i], ary[j] = ary[j], ary[i]
end
end
shuffle(ary, arySize, range)
p ary
i=0 ← j=8 : value 0 ← 8
i=1 ← j=9 : value 1 ← 9
i=2 ← j=2 : value 2 ← 2
i=3 ← j=9 : value 3 ← 1
i=4 ← j=7 : value 4 ← 7
i=5 ← j=5 : value 5 ← 5
i=6 ← j=4 : value 6 ← 7
i=7 ← j=8 : value 4 ← 0
i=8 ← j=7 : value 4 ← 0
i=9 ← j=9 : value 3 ← 3
[8, 9, 2, 1, 6, 5, 7, 4, 0, 3]
>j = Random.rand(size)
Ruby で書いたけど、これだと、0〜9 のまま一定だろ。
Fisher-Yates shuffle では、ループの度に、1ずつ減らさないといけないよな?
787デフォルトの名無しさん (ワッチョイ 5793-3gxb)
2017/12/11(月) 06:51:09.15ID:IqtrAjQN0788デフォルトの名無しさん (ササクッテロル Sp8b-lv8k)
2017/12/11(月) 10:36:52.32ID:jt1Lo1hEp 最初から全部の組み合わせの分のテーブル作っておいて、
そいつを乱数で選ばせりゃ一発で決まりだろ?
そいつを乱数で選ばせりゃ一発で決まりだろ?
789デフォルトの名無しさん (ブーイモ MMbb-t4sk)
2017/12/11(月) 11:17:47.55ID:lUrRZ9vjM 何個いるんですかね?
790デフォルトの名無しさん (ササクッテロル Sp8b-lv8k)
2017/12/11(月) 11:43:53.98ID:jt1Lo1hEp いまどきハードディスクなんかテラバイト単位でデータ持てるじゃん。
792デフォルトの名無しさん (アウアウカー Saeb-I8sf)
2017/12/11(月) 12:51:29.67ID:h/GY+Pada793デフォルトの名無しさん (ドコグロ MMdf-5lVI)
2017/12/11(月) 13:06:03.85ID:roDNP16DM それするなら、0〜9999の乱数を求めて各桁を使えばいい
配列を作る必要はない
配列を作る必要はない
794デフォルトの名無しさん (ドコグロ MMdf-5lVI)
2017/12/11(月) 13:07:55.26ID:roDNP16DM 違った。重複しちゃだめだった
795デフォルトの名無しさん (ササクッテロル Sp8b-lv8k)
2017/12/11(月) 13:30:57.23ID:jt1Lo1hEp >>791
トランプゲーム作った時は真面目にカード配列ん中シャッフルしたわな。懐かしい、
トランプゲーム作った時は真面目にカード配列ん中シャッフルしたわな。懐かしい、
796デフォルトの名無しさん (ワッチョイ 9fe1-xR0X)
2017/12/11(月) 13:35:17.11ID:pAWgJfSj0 >>794
重複した時だけやり直せばいい気がする
重複した時だけやり直せばいい気がする
797デフォルトの名無しさん (ササクッテロル Sp8b-lv8k)
2017/12/11(月) 13:54:44.99ID:jt1Lo1hEp >>793
各桁の検査の為に分解するんだからむしろ効率悪いんじゃね?
各桁の検査の為に分解するんだからむしろ効率悪いんじゃね?
798デフォルトの名無しさん (ブーイモ MMcf-T+jR)
2017/12/11(月) 17:12:57.06ID:Sy4nT1MaM 順列のN番目を求める式を作れば
799デフォルトの名無しさん (ワッチョイ b761-LVSJ)
2017/12/12(火) 11:36:44.51ID:OaIMcnFX0 /wiki/シャッフル (カード)
各シャッフル方法をプログラムで再現するには・・・
各シャッフル方法をプログラムで再現するには・・・
800デフォルトの名無しさん (ワッチョイ d79f-qmOZ)
2017/12/13(水) 01:28:00.37ID:bXzZ5Rwc0801デフォルトの名無しさん (ササクッテロル Sp8b-lv8k)
2017/12/13(水) 17:02:05.03ID:1L+KQhUep802デフォルトの名無しさん (アウアウウー Sa1b-qmOZ)
2017/12/13(水) 19:17:26.19ID:bDsqAirCa なんとなくこねくり回しても数学的に無意味な感じがしてならない。
803デフォルトの名無しさん (ササクッテロル Sp8b-lv8k)
2017/12/13(水) 21:30:15.12ID:1L+KQhUep 実務で使う関数とか数学的には何の意味も無いなんて、当たり前だろw
804デフォルトの名無しさん (ワッチョイ bfe7-IpD3)
2017/12/13(水) 21:48:43.88ID:fGUxNoH20 AIが作ったと妄想してみる。
805デフォルトの名無しさん (アウアウウー Sa1b-GIjF)
2017/12/13(水) 23:51:42.07ID:ScBZYS+4a C言語覚えたい頼む
このアホに教えこんで理解させるとしたらまずなんのテキスト使う?
教え上手のおまいらに最後の希望を託す
(ちな言われたことは必ずやります)
このアホに教えこんで理解させるとしたらまずなんのテキスト使う?
教え上手のおまいらに最後の希望を託す
(ちな言われたことは必ずやります)
806片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdbf-n3/l)
2017/12/13(水) 23:58:12.44ID:dNf1wD6/d >>805
http://codepad.org/
このコードパッドというサイトで、「ハローワールド」を表示するプログラムを実行できたら、ほめてやろう。
C言語でプログラムを実行するには「おまじない」が必要だ。
http://codepad.org/
このコードパッドというサイトで、「ハローワールド」を表示するプログラムを実行できたら、ほめてやろう。
C言語でプログラムを実行するには「おまじない」が必要だ。
807片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd32-wvVH)
2017/12/14(木) 00:04:40.76ID:4rioyzzQd しかも、そのおまじないは半角文字と全角文字を区別する。
一文字でも間違えたら正しく動かない。
一文字でも間違えたら正しく動かない。
808片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd32-wvVH)
2017/12/14(木) 00:14:00.32ID:4rioyzzQd 確実に正しくプログラムを入力したいなら、「コピペ」すればいい。
809デフォルトの名無しさん (ワッチョイ 1f93-T0BP)
2017/12/14(木) 07:54:19.09ID:XNEgxviE0810デフォルトの名無しさん (スップ Sd52-JSy5)
2017/12/14(木) 10:53:53.27ID:j4kcZFN2d811デフォルトの名無しさん (アウアウウー Sac3-qGtq)
2017/12/14(木) 11:15:27.13ID:lae2KYT0a812デフォルトの名無しさん (ブーイモ MM0e-oBDN)
2017/12/14(木) 11:43:24.92ID:ZG1tcwsuM >>810
6809案件って30年前はほぼ収束してないか?
6809案件って30年前はほぼ収束してないか?
813デフォルトの名無しさん (スプッッ Sd52-Ylr/)
2017/12/14(木) 12:25:35.27ID:npthtwn/d 主曰く、Cは自らハックする者を救く
814デフォルトの名無しさん (ワッチョイ b260-4mDj)
2017/12/14(木) 12:40:06.06ID:/7Md6pmo0 >>811
C++をやれ、accelerated c++ を必死に登れば、開運する
C++をやれ、accelerated c++ を必死に登れば、開運する
815デフォルトの名無しさん (スプッッ Sd52-2YlR)
2017/12/14(木) 12:45:49.47ID:iWXm2kLzd C曰く、我五chにて学に志す
816デフォルトの名無しさん (ワッチョイ b7ea-AOQJ)
2017/12/14(木) 12:48:17.48ID:M3GbY6+F0 ところで IT と C言語 って割と隔たりないか?
817デフォルトの名無しさん (エーイモ SE52-x5Rz)
2017/12/14(木) 13:39:55.18ID:viw49ZxRE C99とかC14とかCにもいろいろ種類があるそうですが
特定の種類で書かれたソースコードであるかチェックしたいのでsouiu
lint toolってありませんか?
特定の種類で書かれたソースコードであるかチェックしたいのでsouiu
lint toolってありませんか?
818デフォルトの名無しさん (ワッチョイ 92e1-kSiG)
2017/12/14(木) 14:31:52.49ID:2joenvDO0819デフォルトの名無しさん (ワッチョイ 926e-zS+j)
2017/12/14(木) 16:12:02.98ID:fPDEs5uN0 C14はC++14を勘違いしたんだろうね
Cの種類は、K&R, C90(C89), C99, C11の4つが主要バージョン
主要でないバージョンというと、primeval CとかC84などがある
C90をC89と言ったりするのは、ISO/IEC9899:1990がANSI X3.159-1989を追認する内容だからだ
日本語版のJIS X3010:2003はC99の直訳
Cの種類は、K&R, C90(C89), C99, C11の4つが主要バージョン
主要でないバージョンというと、primeval CとかC84などがある
C90をC89と言ったりするのは、ISO/IEC9899:1990がANSI X3.159-1989を追認する内容だからだ
日本語版のJIS X3010:2003はC99の直訳
820デフォルトの名無しさん (アウアウカー Sa6f-kaKc)
2017/12/14(木) 16:29:20.24ID:8Y/Mk4+4a >>803
いやほら乱数ってハードウェア利用せずに計算だけでやる場合は処理を複雑にしても無意味なことあるじゃない。
いやほら乱数ってハードウェア利用せずに計算だけでやる場合は処理を複雑にしても無意味なことあるじゃない。
821デフォルトの名無しさん (アウアウカー Sa6f-kaKc)
2017/12/14(木) 16:31:27.48ID:8Y/Mk4+4a822デフォルトの名無しさん (ワッチョイ 1681-A+LL)
2017/12/14(木) 16:33:32.52ID:tnwQop1o0 ワンタイムパスワードで送られてくる数字を事前に当てられたらすごいと思います
823片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ a7b3-wvVH)
2017/12/14(木) 16:46:53.67ID:CLsAPy5t0 >>811
時間かかってんな。
「#include <stdio.h>
int main(void) {
printf("ハローワールド\n");
return 0;
}」
これだけ入力してrunさせるだけだぞ。
時間かかってんな。
「#include <stdio.h>
int main(void) {
printf("ハローワールド\n");
return 0;
}」
これだけ入力してrunさせるだけだぞ。
824デフォルトの名無しさん (アウアウカー Sa6f-exlo)
2017/12/14(木) 16:57:01.41ID:UEegqCh3a putsじゃだめなん?
825片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ a7b3-wvVH)
2017/12/14(木) 17:01:48.84ID:CLsAPy5t0 >>824
putsは知らんヤツ多いし、教育上、発展的ではない。
putsは知らんヤツ多いし、教育上、発展的ではない。
826デフォルトの名無しさん (ワッチョイ b7ea-AOQJ)
2017/12/14(木) 17:02:54.59ID:M3GbY6+F0 古典だし、コピペでもいいとしてるし
それなら printf にしときたい所存
それなら printf にしときたい所存
827デフォルトの名無しさん (ワッチョイ 926e-zS+j)
2017/12/14(木) 17:06:32.65ID:fPDEs5uN0 putsの使いにくさときたらアンタ・・
828片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd32-wvVH)
2017/12/14(木) 17:43:18.92ID:4rioyzzQd 勝手に改行が入っちゃうのが不味いのかな。
829デフォルトの名無しさん (ワッチョイ 1681-A+LL)
2017/12/14(木) 17:56:10.05ID:tnwQop1o0 fwrite で
830デフォルトの名無しさん (ワッチョイ dee7-hnOy)
2017/12/14(木) 20:08:02.01ID:ixe7nO7C0 putsは使ってないな一行読み込みだしその後の文字加工がめんどくさいからprintfで済ましちゃうな
831デフォルトの名無しさん (ワッチョイ 5e8a-F+rF)
2017/12/14(木) 20:15:34.79ID:wDiGnNfx0 初心者にprintfを教えると、信頼の出来ない文字列を第一引数として渡す事故が
起きかねないので教育上よろしくないのは常識
[MQ]Z はアホの代名詞
起きかねないので教育上よろしくないのは常識
[MQ]Z はアホの代名詞
832デフォルトの名無しさん (アウアウカー Sa6f-kaKc)
2017/12/14(木) 20:26:36.32ID:kKgdz6jma printf("%s\n", "うふ");
833デフォルトの名無しさん (ワッチョイ cb8a-xcSB)
2017/12/14(木) 20:39:43.33ID:jkby6cOl0 標準ライブラリ禁止な。
834デフォルトの名無しさん (スップ Sd52-WKox)
2017/12/14(木) 21:08:44.70ID:MoDZh4zqd835デフォルトの名無しさん (ブーイモ MM63-VZi2)
2017/12/14(木) 21:58:51.30ID:q6i5/Nc7M プログラミング初心者です
struct hoge *tmp = NULL;
以下うろ覚え
tmp->hage = xxxxx;
最近上記のようなコードに出会いました
明らかにNULLなのにアロー演算子で参照してもぬるぽしないことってあるんでしょうか?
struct hoge *tmp = NULL;
以下うろ覚え
tmp->hage = xxxxx;
最近上記のようなコードに出会いました
明らかにNULLなのにアロー演算子で参照してもぬるぽしないことってあるんでしょうか?
>>835
同じくありえない気がする
同じくありえない気がする
837デフォルトの名無しさん (ワッチョイ 772b-5suJ)
2017/12/14(木) 22:16:14.39ID:a/3Oigfw0 tmp->hage = xxxxx は、0番地にアクセスしてるわけじゃなくて
0 + hageのオフセット番地にアクセスしてるわけだから、
hageのオフセット番地が有効なメモリまでズレてれば
ヌルぽしないんじゃない?
0 + hageのオフセット番地にアクセスしてるわけだから、
hageのオフセット番地が有効なメモリまでズレてれば
ヌルぽしないんじゃない?
838デフォルトの名無しさん (スッップ Sd32-rGrM)
2017/12/14(木) 22:18:38.35ID:Ka/BKddkd 組み込みならゼロ番地付近をアクセスするためにありうるかもな。
あるいは単にそのコード部分が動いていないか。
あるいは単にそのコード部分が動いていないか。
839デフォルトの名無しさん (ワッチョイ 1287-e1v7)
2017/12/14(木) 22:18:39.02ID:+A9pd2E10 0番地に値を書くのと、ヌルポインタアクセスは見分けが付かないからなぁ
840デフォルトの名無しさん (ワッチョイ 1287-e1v7)
2017/12/14(木) 22:20:06.59ID:+A9pd2E10 なので、NULLの値を全く違う値にしてる処理系もあるんだよ。
841デフォルトの名無しさん (ブーイモ MM63-VZi2)
2017/12/14(木) 22:26:45.88ID:q6i5/Nc7M842デフォルトの名無しさん (ワッチョイ 12b3-jdna)
2017/12/14(木) 22:35:39.57ID:JlwKPeYd0843デフォルトの名無しさん (ワッチョイ 1f9f-iA8U)
2017/12/14(木) 22:37:16.44ID:ZN3qJoQh0844デフォルトの名無しさん (ワッチョイ 12b3-jdna)
2017/12/14(木) 22:43:41.09ID:JlwKPeYd0845デフォルトの名無しさん (ワッチョイ 12b3-jdna)
2017/12/14(木) 22:47:13.04ID:JlwKPeYd0 >>843
> そもそも組み込み(≒MMU無し)ならどこアクセスしてもヌルポしないがな。
そんなもん機器による
ROM領域に書き込んだりなにも割り当てられてない領域を読み出したら例外を発生させるとか普通にある
> そもそも組み込み(≒MMU無し)ならどこアクセスしてもヌルポしないがな。
そんなもん機器による
ROM領域に書き込んだりなにも割り当てられてない領域を読み出したら例外を発生させるとか普通にある
846デフォルトの名無しさん (ワッチョイ 1f9f-iA8U)
2017/12/14(木) 23:13:34.90ID:ZN3qJoQh0 >>845
その例外を発生させるものがMMUなんだが
その例外を発生させるものがMMUなんだが
847デフォルトの名無しさん (ブーイモ MM0e-oBDN)
2017/12/14(木) 23:29:05.12ID:WS/Wft5WM 固定のアドレス範囲で例外出だけならMMUほどの複雑な機能いらないっしょ
848デフォルトの名無しさん (ワッチョイ 12b3-jdna)
2017/12/15(金) 00:13:12.48ID:tW10X6gZ0849デフォルトの名無しさん (ワッチョイ 1f9f-iA8U)
2017/12/15(金) 00:57:29.28ID:QRFEcBGB0850デフォルトの名無しさん (ワッチョイ 926e-zS+j)
2017/12/15(金) 05:27:47.99ID:GBd6F7vt0 スタックポインタの初期値だね
851デフォルトの名無しさん (ワッチョイ 9776-JSy5)
2017/12/15(金) 06:53:37.66ID:tJR4HiUM0 ARMだと未割り当てエリアのアクセスは例外発生する
852デフォルトの名無しさん (ドコグロ MMb3-jdna)
2017/12/15(金) 06:58:51.04ID:suRmrR/jM >>849
> ゆとり死ね
指摘されたら逆ギレとかどっちがゆとりだよ w
> つか組み込みの0番地なら普通にアクセスできるほうが多いと思うが。
組み込みなんてピンきりだから普通にとか言っても意味ない
そもそも
> 組み込み(≒MMU無し)
の認識がおかしい
> ARMだとベクタのようだし。
ARMもピンきりでMMU持ってる奴も多いからARMだから0番地アクセスできるとか無知すぎる
> ゆとり死ね
指摘されたら逆ギレとかどっちがゆとりだよ w
> つか組み込みの0番地なら普通にアクセスできるほうが多いと思うが。
組み込みなんてピンきりだから普通にとか言っても意味ない
そもそも
> 組み込み(≒MMU無し)
の認識がおかしい
> ARMだとベクタのようだし。
ARMもピンきりでMMU持ってる奴も多いからARMだから0番地アクセスできるとか無知すぎる
853デフォルトの名無しさん (ワッチョイ 5e8a-F+rF)
2017/12/15(金) 07:02:18.81ID:yuhdgz4g0854デフォルトの名無しさん (スップ Sd52-cDjN)
2017/12/15(金) 07:14:46.17ID:soFbbFtpd C言語じゃないけど聞いて良いですか(´;ω;`)
バッチ利用して設定ファイル書き換えたい
1. ユーザーに入力してもらう
2. iniの値をそれで上書き
x.ini
AAA=1
BBB=2
CCC=3
↓
AAA=1
BBB=192.168.0.1
CCC=3
キーはBBBで固定
設定値が少ないから一度全部読み込んで一行ずつtmpに書き込んで〜ってのも問題ない
一行ずつ読み込んで別ファイルに出力とかはできたんだけど
BBBなら〜って判別ができないです
バッチ利用して設定ファイル書き換えたい
1. ユーザーに入力してもらう
2. iniの値をそれで上書き
x.ini
AAA=1
BBB=2
CCC=3
↓
AAA=1
BBB=192.168.0.1
CCC=3
キーはBBBで固定
設定値が少ないから一度全部読み込んで一行ずつtmpに書き込んで〜ってのも問題ない
一行ずつ読み込んで別ファイルに出力とかはできたんだけど
BBBなら〜って判別ができないです
855デフォルトの名無しさん (ワッチョイ 5e8a-F+rF)
2017/12/15(金) 07:35:31.85ID:yuhdgz4g0856デフォルトの名無しさん (スップ Sd52-cDjN)
2017/12/15(金) 07:39:05.88ID:soFbbFtpd857デフォルトの名無しさん (ドコグロ MM97-jdna)
2017/12/15(金) 08:14:33.28ID:FCwL/bM6M >>853
恥の上塗り乙
68Kだと普通の設計だぞ
https://www.slac.stanford.edu/BFROOT/www/Detector/DAQ/Infrastructure/Maint/177aih.pdf
あとバスエラーの定義はプロセッサによって異なるからプロセッサも限定せずに
> セグメントフォルト、バスエラーは同期例外だ
とか書くと知ったかがばれるので注意しろよ w
恥の上塗り乙
68Kだと普通の設計だぞ
https://www.slac.stanford.edu/BFROOT/www/Detector/DAQ/Infrastructure/Maint/177aih.pdf
あとバスエラーの定義はプロセッサによって異なるからプロセッサも限定せずに
> セグメントフォルト、バスエラーは同期例外だ
とか書くと知ったかがばれるので注意しろよ w
858デフォルトの名無しさん (ドコグロ MM97-jdna)
2017/12/15(金) 08:20:34.53ID:FCwL/bM6M >>854
C言語でやりたいならここでいいけど、バッチでやりたいならこっち
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1489207631/
あとバッチはその手の文字列操作があまり得意でないので個人的にははPowerShellとか使った方が楽だと思う
【最強CUI】PowerShell -Part 2 [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1480109402/
C言語でやりたいならここでいいけど、バッチでやりたいならこっち
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1489207631/
あとバッチはその手の文字列操作があまり得意でないので個人的にははPowerShellとか使った方が楽だと思う
【最強CUI】PowerShell -Part 2 [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1480109402/
859デフォルトの名無しさん (ワッチョイ 926e-zS+j)
2017/12/15(金) 10:39:34.38ID:GBd6F7vt0 68kでのバスエラーとは/BERRがアサートされることで
何をセンスして/BERRをぶっ叩くかは基板次第だな
何をセンスして/BERRをぶっ叩くかは基板次第だな
860デフォルトの名無しさん (ワッチョイ 6361-4pIx)
2017/12/15(金) 11:50:37.48ID:lVqJ9ww50 PC-9801
0x000000 - 0x0003FF IVT(割り込みベクターテーブル)
まぁ弄るなら割禁とか保険かけるんで専用ライブラリ使うかアセンブラコード書くな。
0x000000 - 0x0003FF IVT(割り込みベクターテーブル)
まぁ弄るなら割禁とか保険かけるんで専用ライブラリ使うかアセンブラコード書くな。
861デフォルトの名無しさん (ドコグロ MMaf-9pXP)
2017/12/15(金) 12:40:56.01ID:eSUvZEm2M 割り込みと例外は違う
まあバスエラー相当が割り込みであがるアーキもあるけど
まあバスエラー相当が割り込みであがるアーキもあるけど
862デフォルトの名無しさん (ワッチョイ 926e-zS+j)
2017/12/15(金) 12:46:09.63ID:GBd6F7vt0 longjmpやC++のthrowのような例外と割り込みは違うが
ソフトウエア割り込みだの記憶保護例外だのは割り込みと同列なもので
CPUのマニュアルでも同じ章に書いてある
ソフトウエア割り込みだの記憶保護例外だのは割り込みと同列なもので
CPUのマニュアルでも同じ章に書いてある
863デフォルトの名無しさん (ササクッテロル Spc7-e1v7)
2017/12/15(金) 12:59:16.80ID:wYljbLzIp 例外割り込みって、割り込みの一部じゃね?
864デフォルトの名無しさん (ワッチョイ 5e8a-F+rF)
2017/12/15(金) 13:49:05.09ID:yuhdgz4g0865デフォルトの名無しさん (ササクッテロル Spc7-e1v7)
2017/12/15(金) 14:19:32.62ID:wYljbLzIp >>864
いやいや、そもそも読めないから。
いやいや、そもそも読めないから。
866デフォルトの名無しさん (ワッチョイ 5e8a-F+rF)
2017/12/15(金) 14:30:39.93ID:yuhdgz4g0 >>865
理解してない奴は、混乱の元だから割り込んで来ないように
理解してない奴は、混乱の元だから割り込んで来ないように
867デフォルトの名無しさん (スッップ Sd32-JSy5)
2017/12/15(金) 16:34:19.49ID:g34oCD75d 同期とか非同期とかどうでもいいだろ
868デフォルトの名無しさん (スッップ Sd32-JSy5)
2017/12/15(金) 16:34:43.72ID:g34oCD75d >>835とは関係ない
869デフォルトの名無しさん (スッップ Sd32-JSy5)
2017/12/15(金) 16:36:08.94ID:g34oCD75d C言語のヌルポとハード0番地って同じである必要は無いんだよね
870デフォルトの名無しさん (ワッチョイ 926e-zS+j)
2017/12/15(金) 17:25:38.74ID:GBd6F7vt0 0xffffffff番地でもいいはずだね
要は、Cで合法的に定義されたオブジェクトが決して含まないアドレスを
1つ決めごと作っておいてそれを空ポインタということにしようということと
規格合致処理系はそれを必ず決めておかなければならないということ
C以外のたとえばアセンブラで定義されたオブジェクトまでがその規則に従うとは限らないし
そういうオブジェクトをCで扱えてはならないとまでは言ってない
あくまで自己責任でやる限り余計な邪魔立てはしない
要は、Cで合法的に定義されたオブジェクトが決して含まないアドレスを
1つ決めごと作っておいてそれを空ポインタということにしようということと
規格合致処理系はそれを必ず決めておかなければならないということ
C以外のたとえばアセンブラで定義されたオブジェクトまでがその規則に従うとは限らないし
そういうオブジェクトをCで扱えてはならないとまでは言ってない
あくまで自己責任でやる限り余計な邪魔立てはしない
871デフォルトの名無しさん (ドコグロ MMaf-9pXP)
2017/12/15(金) 20:55:15.86ID:eSUvZEm2M ポインタはポインタであってアドレスではない
けど中途半端に知ってるとポインタとアドレスがイコールと思い込んでしまう
ヌルポインタはアドレスで説明できないポインタの例だね
けど中途半端に知ってるとポインタとアドレスがイコールと思い込んでしまう
ヌルポインタはアドレスで説明できないポインタの例だね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- ヨッシー、ヘイホー、テレサ ←こいつらwwwwwwwww
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- くそしてかがやけ
- テレビ「地震!津波!高いところへ逃げて!」
