C言語なら俺に聞け
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2014/03/05(水) 05:32:47.630002デフォルトの名無しさん
2014/03/05(水) 05:43:32.04C言語なら俺に聞け
http://toro.2ch.net/test/read.cgi/tech/1390954735/
前スレがほぼ1ヶ月で消化してる。
この板には1000まで10年経かかってるスレもある中で、
(入門用)などないこっちが正統であるという民意に相違ない。
ナンバリングはよくわからんが次回からでも復活させてくれ。
関連スレ
C言語なら俺に聞け(入門編)Part 125
http://toro.2ch.net/test/read.cgi/tech/1392482954/
0003デフォルトの名無しさん
2014/03/05(水) 05:46:37.47func()
{
static char *p2;
p2=malloc(3);
func()
}
実行すると、p2はどうなりますか?
0004デフォルトの名無しさん
2014/03/05(水) 05:48:51.67この板で1ヶ月足らずで消化するとか尋常じゃねえし
0005デフォルトの名無しさん
2014/03/05(水) 10:50:20.140006デフォルトの名無しさん
2014/03/05(水) 11:04:05.67ケース1
1 スタックが尽きて異常終了する
2 mallocがNULLを返し、p2がNULLになる
1と2のどちらが先に発生するか環境依存
ケース2
スタックは一周する。尽きないがmallocの管理している領域を壊す、その結果
1 異常終了する
2 何らかの意味のないポインタ値が無限に代入され続ける
ケース3
スタックは一周する。尽きない。mallocの管理している領域とは分離されている
NULLが無限に代入され続ける
0007デフォルトの名無しさん
2014/03/05(水) 13:45:51.400008デフォルトの名無しさん
2014/03/05(水) 15:46:50.080009デフォルトの名無しさん
2014/03/09(日) 16:15:52.460010デフォルトの名無しさん
2014/03/11(火) 07:04:42.83円だと二乗の計算が出てくるから重い気がするのですが
0011前スレ997
2014/03/11(火) 07:06:29.380012デフォルトの名無しさん
2014/03/11(火) 07:08:37.30QRコードの色を部分的に変えるだけのやつではなく
真ん中にアイコン入れたりしてあるやつです
0013デフォルトの名無しさん
2014/03/11(火) 08:30:32.99許容される大きさとかは実験的に調べる
0014デフォルトの名無しさん
2014/03/11(火) 16:51:18.35接続の時は、open()=SYNを送るという動きっぽいですが、
「close()=FINを送る」ではないのでしょうか?
ステップ実行しながらWireSharkで通信見てた所、
close実行まえに勝手にFINが出ちゃう気がします。
0015デフォルトの名無しさん
2014/03/11(火) 16:52:01.67char[1000000][32]の配列を作りたいんですが
0016デフォルトの名無しさん
2014/03/11(火) 16:56:13.28malloc,calloc
0017デフォルトの名無しさん
2014/03/11(火) 16:56:23.92char *array[32];
for (i = 0; i < 32; i++) {
array[i] = malloc(1000000);
}
0018デフォルトの名無しさん
2014/03/11(火) 18:04:49.72タイムアウトしてるとか、相手から RST くらってるとか
0019デフォルトの名無しさん
2014/03/11(火) 20:03:27.11100 - ( 2 * ( 3 + 1 ) ) * 4 + 45 / ( 17 - 8 )
この式をC言語で計算するにはどうしたらいいでしょうか。
この式は文字列として与えられます。
0020デフォルトの名無しさん
2014/03/11(火) 20:20:23.58{
return 100 - ( 2 * ( 3 + 1 ) ) * 4 + 45 / ( 17 - 8 );
}
0021デフォルトの名無しさん
2014/03/11(火) 20:21:13.000022デフォルトの名無しさん
2014/03/11(火) 20:24:12.460023片山博文MZジェバンニ ◆T6xkBnTXz7B0
2014/03/11(火) 23:05:57.02パーサジェネレータ
0024デフォルトの名無しさん
2014/03/13(木) 15:13:40.52ID:dyPbFnv9【ISO/ANSI/JIS】 C言語なら俺に聞け! Part 130
http://toro.2ch.net/test/read.cgi/tech/1159613789/
0025デフォルトの名無しさん
2014/03/16(日) 16:55:54.24ID:uzDcpeCRwww.logical-paradox.org/ja/nsxbasic/nsxbasic3.html
0026デフォルトの名無しさん
2014/03/17(月) 14:07:32.11ID:pBjgcJ9b0027デフォルトの名無しさん
2014/03/17(月) 18:08:25.60ID:7shZynbj構造体(親)の中にある構造体(子)の要素に
親の構造体のアドレスを格納したいんだけど
下の書き方だとコンパイラにBASE_BLOCKが無い的な感じではじかれしまう
今の所 void* で親の構造体をポイントして動かしているんだけど
自己参照構造体みたいに
うまいtypedefの書き方って何かないですかね?
構造体�@
typedef struct{
void *blk; // 現状
// BASE_BLOCK *blk; // 構造体�Bへの参照(こんな感じにしたい)
char a,b,c;
} DATA1_BLK;
構造体�A
typedef struct{
void *blk; // 上と同じイメージ
// BASE_BLOCK *blk;
long a,b,c;
} DATA2_BLK;
構造体�B
typedef struct _BASE_BLOCK{
DATA1_BLK d1;
DATA2_BLK d2;
struct _BASE_BLOCK *next;
struct _BASE_BLOCK *before;
} BASE_BLOCK; // typedef はここ
0028デフォルトの名無しさん
2014/03/17(月) 18:38:26.88ID:qNLDgXjv0029デフォルトの名無しさん
2014/03/18(火) 02:08:28.97ID:G12u9CCe貴重な時間を使ってまで糞コードを考えるなんて
常人にはできないやりかた
0030デフォルトの名無しさん
2014/03/18(火) 07:36:00.64ID:CNPmaNLYtypedef struct _BASE_BLOCK BASE_BLOCK2; //二重定義にならないよう別名
typedef struct{
BASE_BLOCK2 *blk;
char a,b,c;
} DATA1_BLK;
typedef struct{
BASE_BLOCK2 *blk;
long a,b,c;
} DATA2_BLK;
typedef struct _BASE_BLOCK{
DATA1_BLK d1;
DATA2_BLK d2;
struct _BASE_BLOCK *next;
struct _BASE_BLOCK *before;
int a;
} BASE_BLOCK;
0031デフォルトの名無しさん
2014/03/18(火) 07:36:44.00ID:CNPmaNLY0032デフォルトの名無しさん
2014/03/18(火) 09:47:58.86ID:G12u9CCeまた誰も得をしないオナニーコードを書く狂人が現れた
オワコンCプログラマはこんなところでオナカキコしても誰も見向きもしない
気持ち悪いだけだからム板から出ていけ
0033デフォルトの名無しさん
2014/03/18(火) 10:00:27.41ID:RDFvC1WBtypedef struct hoge hoge;
typedef struct hoge {
int hoge;
} hoge;
0034デフォルトの名無しさん
2014/03/18(火) 10:19:19.05ID:G12u9CCeまーたhoge厨か
ゴミプログラマがよく使う記号だよな
>>33みたいなゴミ老害がのさばっていいスレじゃないからこのスレから出ていけ
0035デフォルトの名無しさん
2014/03/18(火) 10:27:53.77ID:RDFvC1WB0036デフォルトの名無しさん
2014/03/18(火) 10:34:16.00ID:v3bNYbuZ一番最後の衝突は(本能的にNGな感じだけど)考えたことはないな
0037デフォルトの名無しさん
2014/03/18(火) 10:41:15.56ID:6BNvI/8X死ねよゴミ
>>35
一緒にカスウヨも死ねよ
0038デフォルトの名無しさん
2014/03/18(火) 10:45:24.87ID:G12u9CCehogeを使う輩は例外なく老害ゴミプログラマ
C関係スレは書き込み時間帯がおかしすぎる
仕事してない人たちばっかりだね、老害スレはム板にとって不吉な存在なので
削除したほうがいい
0039デフォルトの名無しさん
2014/03/18(火) 11:08:04.06ID:6BNvI/8Xtypedef struct hoge hoge;
typedef struct hoge {
hoge *hoge;
} hoge;
0041デフォルトの名無しさん
2014/03/18(火) 12:41:10.85ID:G12u9CCeお前が自分の存在を削除すれば解決
0042デフォルトの名無しさん
2014/03/18(火) 14:28:04.24ID:6BNvI/8X0043デフォルトの名無しさん
2014/03/18(火) 15:20:42.07ID:G12u9CCe0044デフォルトの名無しさん
2014/03/18(火) 15:25:00.65ID:6BNvI/8X0045デフォルトの名無しさん
2014/03/18(火) 15:25:49.92ID:6BNvI/8X> 仕事してない人たちばっかりだね、老害
これも自己紹介だったみたいだねw
0046デフォルトの名無しさん
2014/03/18(火) 16:23:25.72ID:D+JCMuhn他にいねえよ
0047デフォルトの名無しさん
2014/03/18(火) 16:56:30.95ID:G12u9CCe0048デフォルトの名無しさん
2014/03/18(火) 17:09:55.69ID:5NbZVbDL0049デフォルトの名無しさん
2014/03/18(火) 17:14:37.08ID:v3bNYbuZ0050デフォルトの名無しさん
2014/03/18(火) 17:15:26.06ID:D+JCMuhnあ、これでわかった
お前精神科まだ行ってなさそうだからQじゃなくてuyだな
0051デフォルトの名無しさん
2014/03/18(火) 17:18:24.38ID:D+JCMuhnお前の存在そのものが周りに迷惑を掛けているのが分からないのか
0052デフォルトの名無しさん
2014/03/18(火) 17:25:03.25ID:G12u9CCe迷惑かけているのは間違いなくhoge厨です
0053デフォルトの名無しさん
2014/03/18(火) 17:39:42.38ID:6BNvI/8X0054デフォルトの名無しさん
2014/03/18(火) 18:05:23.73ID:rfN06h310055デフォルトの名無しさん
2014/03/18(火) 18:08:19.11ID:6BNvI/8X0056デフォルトの名無しさん
2014/03/18(火) 18:18:58.53ID:G12u9CCe0057デフォルトの名無しさん
2014/03/18(火) 18:26:17.22ID:6BNvI/8X0058デフォルトの名無しさん
2014/03/18(火) 18:31:28.53ID:G12u9CCeこれに固着する意味がわからん
0059デフォルトの名無しさん
2014/03/18(火) 18:51:33.92ID:6ldE9qSk要するにゆとり世代だからじゃねーかw
0060デフォルトの名無しさん
2014/03/18(火) 19:01:51.99ID:xgiNCNGW0061デフォルトの名無しさん
2014/03/18(火) 21:07:45.35ID:G12u9CCe0062デフォルトの名無しさん
2014/03/18(火) 21:14:20.14ID:xgiNCNGW0063デフォルトの名無しさん
2014/03/18(火) 22:10:44.98ID:2YKt0V/ofooとbarはどうなんだよ
0064デフォルトの名無しさん
2014/03/18(火) 22:17:25.80ID:G12u9CCehogehogeまで使ってくるしな
0065デフォルトの名無しさん
2014/03/18(火) 23:00:11.13ID:xgiNCNGW0066デフォルトの名無しさん
2014/03/18(火) 23:35:07.20ID:xgiNCNGW0067デフォルトの名無しさん
2014/03/18(火) 23:35:44.97ID:G12u9CCe0068デフォルトの名無しさん
2014/03/18(火) 23:36:59.52ID:xgiNCNGW0069デフォルトの名無しさん
2014/03/18(火) 23:43:26.50ID:xgiNCNGW0070デフォルトの名無しさん
2014/03/19(水) 10:29:21.71ID:jbaTmMPB0071デフォルトの名無しさん
2014/03/19(水) 10:53:54.70ID:pgTJKr0lこのスレの異常性がうかがえますわ
0072デフォルトの名無しさん
2014/03/19(水) 10:57:19.82ID:jbaTmMPB0073デフォルトの名無しさん
2014/03/19(水) 11:09:01.83ID:pgTJKr0l0074デフォルトの名無しさん
2014/03/19(水) 11:13:04.05ID:jbaTmMPB0075デフォルトの名無しさん
2014/03/19(水) 11:29:38.56ID:jbaTmMPB0076デフォルトの名無しさん
2014/03/19(水) 11:44:58.69ID:pgTJKr0lCスレで煽ってくる奴等ってなぜか罵倒してるつもりが自分にはね返ってるよね
自噴のCの実力の劣等感から生じる衝動だと思うけどみっともないから止めたほうがいいと思うよ
0077デフォルトの名無しさん
2014/03/19(水) 12:35:45.01ID:jbaTmMPB全部自分に跳ね返ってるから、生きるの止めた方がいいと思うよ。
0078デフォルトの名無しさん
2014/03/19(水) 21:03:49.54ID:CAPa6Vgr「実用のコードでは適宜書き換えてくださいね」って場所に使う識別子なんだから
嫌がられるくらいでなきゃ困るんだよ
0079デフォルトの名無しさん
2014/03/19(水) 21:20:26.89ID:pgTJKr0lしかも半端にうまいコードを毎回記述しようとしているから困る
hogeはウンコードでなければなりません、臭くなければなりません
hoge厨は住人の顰蹙を買うだけの不要な存在
0080デフォルトの名無しさん
2014/03/19(水) 21:23:27.49ID:jbaTmMPBこれまた見事な自己紹介だなwwwww
0081デフォルトの名無しさん
2014/03/19(水) 21:42:03.76ID:0SFSV+5e0082デフォルトの名無しさん
2014/03/20(木) 09:49:48.35ID:0GGGoo3n0083デフォルトの名無しさん
2014/03/20(木) 10:44:28.63ID:0GGGoo3n必死にゴミを書き込むなカス。
0084デフォルトの名無しさん
2014/03/21(金) 09:30:20.96ID:HWKg4coeだれもお前の意見なんて求めてないから消えろゴミクズ糞蛆虫
0085デフォルトの名無しさん
2014/03/23(日) 00:44:39.92ID:ulVc1cS10086デフォルトの名無しさん
2014/03/25(火) 23:02:31.71ID:1BEA8u0vヒントを元に調べてたら
「相互参照」と「不完全な型」辺りをキーワードにしたら
良い感じの答えにたどりつけました
0087デフォルトの名無しさん
2014/03/30(日) 01:27:12.01ID:/qrkiZMxNSUInteger n;
NSArray *arr = @[@0,@1,@2,@3,@4,@5,@6,@7];
for( n=4 ; n<8 ;n++){
label_1.text =arr[n];
label_2.text =arr[n];
label_3.text =arr[n];
label_4.text =arr[n];
}
(ラベルはインスタンス変数で、宣言しています)
これを実行するとarr[7]だけがラベルに表示されてしまいます。
初期値からn++されません。
理由はなぜなのでしょうか?教えてください。
0088デフォルトの名無しさん
2014/03/30(日) 06:07:14.74ID:gN3GGTNV先ず第一に、それはC言語ではない。
つまり、スレ違い。
第二に、やりたいことはループにする必要がないのではないか?
つまり、
label_1.text = arr[4];
label_2.text = arr[5];
label_3.text = arr[6];
label_4.text = arr[7];
ではないのか?
いずれにしろ、日本語の勉強も必要だな。
0089デフォルトの名無しさん
2014/03/30(日) 09:10:17.86ID:/qrkiZMx0090デフォルトの名無しさん
2014/04/02(水) 15:39:50.78ID:Q1E5S1dbvoid bubblesort(int a[], int n)
{
int i , j;
int temp;
for (i = 0 ; i < n-1; i++){
for (j = n-1; j > i; j--) {
if (a[j-1] > a[j] ){
temp = a[j];
a[j] = a[j-1];
a[j-1] = temp;
}
}
}
}
で出来ますが、
typedef struct person_tag {
int age;
char name[30];
char sex;
} person;
という構造体配列で
person p_array[] = {
{15,"Sayaka Iwata",'F'},
{25,"Ichirou Akagawa",'M'},
{10,"Ryoko Onoe",'F'},
{45,"Taichi Uemura",'M'},
{55,"Madoka Nomura",'F'},
};
とデータを入れてageの昇順に構造体配列をバブルソートするやり方教えて下さい。
0091デフォルトの名無しさん
2014/04/02(水) 15:55:29.18ID:X4pbuSpw⇒ person a[]
int temp
⇒ person temp
if (a[j-1] > a[j] ){
⇒ if (a[j-1].age > a[j].age ){
0092デフォルトの名無しさん
2014/04/02(水) 16:23:04.18ID:Q1E5S1dbありがとうございました!
0093デフォルトの名無しさん
2014/04/06(日) 19:56:15.71ID:2WWdU1grint main(void){
char *c[] = {"ENTER", "NEW", "POINT", "FIRST"};
char **cp[] = {c+3,c+2,c+1,c};
char ***cpp = cp;
printf("%s", **++cpp);
printf("%s ", *--*++cpp+3);
printf("%s", *cpp[-2]+3);
printf("%s\n", cpp[-1][-1]+1);
return 0;
}
答えはもちろん実行してみれば出力されるのですが、
なぜそのようになるのか分かりません (´・ω・`)
0094デフォルトの名無しさん
2014/04/06(日) 22:24:20.40ID:tUu4o0lA多分学校の問題か何かだろうけど、非常に筋の悪い設問。
意味の学習としては使えるかもしれないけどね。
配列の要素がメモリ上でどう確保されるかを紙に書いて
学習すればわかりやすい。でもC/C++のポインタ関連は
演算子の優先順位がわかりにくいので、そっちも調べる
必要がある。
0095デフォルトの名無しさん
2014/04/09(水) 20:43:30.57ID:aEvN9O81構造体が
typedef struct holiday {
int ymd; //e.g 20140101
char holidayname[30]; //元旦
struct holiday *next;
} holiday;
という形であって日付を昇順になるように入れていくのは
直前の構造体のymd < 挿入するymd && 挿入するymd < 現在のymdの時に
直前の構造体のnextを挿入する構造体のアドレスにし、
挿入する構造体のnextを現在のymdの構造体のアドレスにする
というやり方になる…んですよね?
0096デフォルトの名無しさん
2014/04/09(水) 21:20:05.75ID:5sKrTKuO0097デフォルトの名無しさん
2014/04/09(水) 21:42:34.98ID:1czKTaG/コードで書いてくれ
0098デフォルトの名無しさん
2014/04/09(水) 22:54:21.56ID:aEvN9O81その具体的なやり方を知りたいなぁと思ってるんですが。
とりあえず、あちこちのサイト見ながら作ったのが
http://codepad.org/0ppn3tBz
ソースが汚いとか見にくいってのは勘弁の程を
でinsert_dateのところ 193 〜 198 で
//ここで日付の昇順になるようにつなぎ替える
p = head.next;
while( p != NULL ){
********************** ←ここの部分を教えていただきたいなぁと
p = p->next;
}
ごめん途中で投げ槍になったから突っ込まんでくれ、でも質問してくれていい
http://codepad.org/TR9iO06H
日付の昇順にしたい、ということで
リンクリストをたどる中で、はじめて
「入力したデータの日付」<「着目ノードの『次』のノードの日付」
となったら、着目リストの後ろに放り込む
でどうかな?
0100デフォルトの名無しさん
2014/04/10(木) 10:09:54.47ID:kr5KR7nN102行目などは、printfのあとscanfの前にfflushしないと表示されない
DOSだと出るみたいだけど
275行目 0はTermのほうがいい
0101デフォルトの名無しさん
2014/04/10(木) 15:43:59.32ID:4O9rt8DU98です。夜に付き合っていただき感謝。考え方もそちらのほうが単純明快ですね
ポインタのポインタとかなかなかまだそこまでいきませんが(言われれば、あぁなるほど…ではあるんですが^^;)
じっくりソースを見させていただき、自分なりにいじってみたいと想います。
0102デフォルトの名無しさん
2014/04/10(木) 22:00:30.41ID:4bNYm9hY!!
thx a lot!
>>101
楽しんでください
0103デフォルトの名無しさん
2014/04/13(日) 22:28:58.63ID:xpFiuadr0104デフォルトの名無しさん
2014/04/14(月) 12:02:58.12ID:+4I+vlSz0105デフォルトの名無しさん
2014/04/14(月) 12:28:39.89ID:SRwo2QpI0106デフォルトの名無しさん
2014/04/14(月) 12:44:51.10ID:Bhf4pDIo0107デフォルトの名無しさん
2014/04/14(月) 12:59:25.45ID:hlRl5VC50108デフォルトの名無しさん
2014/04/14(月) 13:24:00.71ID:Bhf4pDIo0109デフォルトの名無しさん
2014/04/14(月) 13:58:14.76ID:MAoTOR9V0110デフォルトの名無しさん
2014/04/14(月) 19:25:49.85ID:VLpr/JYL「貴方がこの会社の面接に来られた理由を、ポインタを使ってわかりやすく
説明してください」
と言われたらどうする?
0111デフォルトの名無しさん
2014/04/14(月) 21:58:22.07ID:M5Q2kr070112デフォルトの名無しさん
2014/04/14(月) 22:18:22.47ID:pOLq2nzcひとことは、ムリだろ。ふたことなら…
p = &c;
*p = c;
0113デフォルトの名無しさん
2014/04/14(月) 23:14:03.38ID:w8oFKsTOウルトラ警備隊専用車
0114デフォルトの名無しさん
2014/04/14(月) 23:33:43.66ID:zoHFxkBT0115デフォルトの名無しさん
2014/04/16(水) 16:27:59.69ID:IgciLmNrダイエット
0116デフォルトの名無しさん
2014/04/19(土) 09:56:41.40ID:Cpm/BfcXそうでない人で1.5倍くらい差があったりするの?
0117デフォルトの名無しさん
2014/04/19(土) 10:03:52.24ID:SVxJm38+間接アドレッシング。
0118デフォルトの名無しさん
2014/04/19(土) 10:05:49.26ID:aOosZTdR余裕であると思う。
どんな尺度で測るかは難しいけどね。
開発期間だけで言えば、簡単なツールを10分で作れる人と丸1日かかる人がいる。
複雑なソフトになれば、そこに安定性と保守性という係数が入ってきて差はさらに広がる。
0119デフォルトの名無しさん
2014/04/19(土) 10:08:19.46ID:Cpm/BfcXでも丸1日かかるほうが残業代で稼げるとかそういう現状あったりする?
というかIT業界に入れたんだから丸1日が基準なのか10分が基準なのかは
どっちが正解か分からないね、10分で作れる人はよっぽど天才だったりす
るんじゃないだろうか?144倍の開発期間に差があるって中々ないような…
0120デフォルトの名無しさん
2014/04/19(土) 10:09:37.61ID:jSbR7/rV0121デフォルトの名無しさん
2014/04/19(土) 10:18:10.43ID:aOosZTdRうーん、残業代で稼げる現状も場合によってはあると思う。
でもね、重要な事を見落とさないで欲しい。
優秀な人は自分の力で時間を作り出せるという事ね。
残業代で稼ぐか早く帰るかの選択は優秀な人にしかできないって事。
ぶっちゃけ、優秀な人は嘘をついて工数を水増しできるチャンスがあるけど、時間を作れない人はサビ残を断れない。
0122デフォルトの名無しさん
2014/04/19(土) 10:34:32.12ID:aOosZTdRあと、何もゼロから作る事が全てじゃないよ。
ゼロから作るのは遅くても、サッとコピペで作れればそれはそれで優秀。
コピペに限らず、コード流用できそうな事に気づけるか、流用しても問題ないか判断できるかってのも優秀さの一要因だよね。
この辺で10分と1日の差が出てくる。
0123デフォルトの名無しさん
2014/04/19(土) 10:41:51.76ID:7oXT2c0B業務の9割がドキュメント作成・会議・検査などで、
ほとんどコードを書くことがない
その上、技術技術言ってるやつは下に見られてて、
プログラマーなんかキーパンチャーだと思われてる
プログラミングの経験を積んでベテランプログラマーになって
60歳になってもばりばりコードを書いていたいと思っていたのに
もはやこの業界に居ても目指すべき俺にはなれないと悟ったわ
0124デフォルトの名無しさん
2014/04/19(土) 10:43:06.71ID:pON9XnrA例えばだが。C++しか使えず、何でもC++でやろうとしている者に対して。
優秀な人は適切な言語を選んで短時間で済ませることが出来る。
0125デフォルトの名無しさん
2014/04/19(土) 10:45:42.49ID:7oXT2c0B0126デフォルトの名無しさん
2014/04/19(土) 11:25:47.96ID:Cpm/BfcXありがとう
凄いんだね10分ってのは…
0127デフォルトの名無しさん
2014/04/19(土) 11:48:49.93ID:ZwC8jtQoたとえばさ。
とある機能を改修するときに、
・手間はかかるけど、従来の機能を維持したまま新しい機能を上乗せする
・手間はまあまあだけど、従来の機能そのものに手を入れる
実際にいまのプロジェクトであったことなんだけどね。
よく考えもしないで下の方法で改修をやりやがって、あとから違うバージョン間での互換が問題になった。
上の方法では1日、下の方法では半日で作業が終わるとして、
後から問題になって何時間か会議して、調べて、上の方法で 違 う 人 間 が実装し直すとしてだ。
144 倍ほどの差は出ないとは思うけど、最初から上の方法で実装したときに比べてどれだけ時間を浪費しただろうね。
単純な作業時間だけでなく、目先にことにとらわれない冷静な判断力が必要になることも多いよ。
※ただし、場合によっては上の方法が過剰実装だといって怒られることもある
0128デフォルトの名無しさん
2014/04/19(土) 11:57:37.98ID:aOosZTdR目先の楽さを選ぶ傾向って結構多いよね。
で、それで痛い目を見た人は過剰包装に陥りがちなのも確かだと思う。
その間にある落としどころを見つけられる人って少いよね。
0129デフォルトの名無しさん
2014/04/19(土) 13:03:07.49ID:4q5aJb+ncurrentdir.c
#include <stdio.h>
#include <string.h>
#include <windows.h>
int main(int argc, char* argv[]) {
char curdir[256];
GetCurrentDirectory(sizeof(curdir),curdir);
printf("Current Directory : %s\n",curdir);
return 0;
}
結果
D:\Data>currentdir
Current Directory : D:\Data
で、出せたんですけどここで
windows,.hを使うってことはwindows専用ですよね、これ。
じゃ、windowsが出る前(dosの時)はどうしてたのか?
unixやlinuxでも使えるようにはならないの?って疑問が。
0130デフォルトの名無しさん
2014/04/19(土) 13:48:48.93ID:opS/PlHvgetcwd, getwd, get_current_dir_name・・・とか
0131デフォルトの名無しさん
2014/04/19(土) 13:50:56.70ID:Db2IzPolunixやlinuxではそういうシステムコールは無かった。procfs以前の実装方法を知ったらびっくりするぞ。
0132デフォルトの名無しさん
2014/04/19(土) 14:44:57.38ID:H2bbwnYfMS-DOS 1.0 の頃とかディレクトリがないんだっけ?
0133デフォルトの名無しさん
2014/04/19(土) 14:54:44.45ID:q67SPze00134デフォルトの名無しさん
2014/04/19(土) 14:57:51.57ID:ICvTvL960135デフォルトの名無しさん
2014/04/19(土) 15:09:44.33ID:LlSFsJPl何故HDDのメモリは無尽蔵にあがるのに、例えば10TB外付けなどです。
メモリ(キャッシュメモリ、メインメモリ)は中々上がらないのですか?
いくらHDDのメモリ容量があがっても、実行速度に影響するメインメモリ
やCPUの容量が上がらないとダメな気がするのですが、HDDは集積化しや
すくてメインメモリはしにくいのですか?
0136デフォルトの名無しさん
2014/04/19(土) 15:10:23.58ID:j1F3U2CRちょっと調べてみた
/procfs有無はあまり関係ないかも。
新しいlinuxのgetcwd()はシステムコールになっていて、dentry構造体で
ディレクトリ名やparentのリンクが分かるので、リンクを遡ってrootまで辿る。
http://lxr.free-electrons.com/source/fs/dcache.c?v=2.6.36#L1930
古い実装は多分こんな感じ
http://www.opensource.apple.com/source/sudo/sudo-9/sudo/getcwd.c
cwdに一致するinoを、親ディレクトリ("./../")内で探すことで、カレントディレクトリの
名前を取得する、というのをrootまで繰り返す方式。
大量のファイルがあるディレクトリが途中にあると効率悪いね
0137デフォルトの名無しさん
2014/04/19(土) 15:20:25.44ID:q67SPze0キャッシュとメインメモリを一緒くたにされちゃ話が進まん
0138デフォルトの名無しさん
2014/04/19(土) 15:24:58.56ID:j1F3U2CRCPUに積まれてるFPGAって組み込み用のCPUのこと?
HDDのメモリってSSDのこと?
何を聞きたいのかよくわからんが、なぜ、一般的にHDDの方がメモリより大容量なのか
ということなら、コストの違いだろう。
その結果、遅いけど容量の大きいストレージと、速いけど容量の少ないメモリを
組み合わせてシステムを作るのが最適になる
0139デフォルトの名無しさん
2014/04/19(土) 15:25:24.02ID:LlSFsJPlまぁ一緒のものとして
何故メインメモリは集積度があがらないんですか?
HDDは32MB→10TB およそ30万倍
メモリは 32MB→32GB
およそ1000倍
何故ですか?
0140デフォルトの名無しさん
2014/04/19(土) 15:30:44.22ID:LlSFsJPlみたいなことしなくても、そのままメモリとして使えるじゃないですか
0141デフォルトの名無しさん
2014/04/19(土) 15:39:53.82ID:j1F3U2CRまた、たいていのUNIX系のOSなら、mmapでそのままメモリと同様に使えるようになっている。
0142デフォルトの名無しさん
2014/04/19(土) 15:53:23.90ID:q67SPze0遅いんじゃなくて
速くなったらなったで無駄遣いするヘボが現れるから遅く感じるだけ
ヘボを駆逐しない限り戦いは終わらない
0143デフォルトの名無しさん
2014/04/19(土) 17:07:03.01ID:4q5aJb+nうへぇそうなんだ。
0144デフォルトの名無しさん
2014/04/19(土) 17:50:52.00ID:jRqyICOuすでに AT&T の時代に UNIX はその大半を C で記述されていたんですけれども
0145デフォルトの名無しさん
2014/04/19(土) 18:27:17.58ID:LuoshK6sドライブという概念まであるMS-DOSは、
UNIX の一歩先を逝っているのかw
0146デフォルトの名無しさん
2014/04/19(土) 19:45:23.34ID:jRqyICOuportal fs もいまいち‥‥,事例を知らないだけかもしれないが
0147デフォルトの名無しさん
2014/04/19(土) 19:47:30.81ID:j1F3U2CR0148デフォルトの名無しさん
2014/04/19(土) 19:49:33.74ID:jRqyICOu>逝って
0149デフォルトの名無しさん
2014/04/19(土) 20:24:29.85ID:x6NH31T1CPUにFPGAは積まれていません。
FPGAはプログラマブルゲートアレイ。簡単に言うとゲートの配線を
プログラムで書き換えられるチップのこと。
CPUは配線をプログラムで書き換えることは不可能。
0150デフォルトの名無しさん
2014/04/19(土) 20:27:56.03ID:jRqyICOuあれ?FPUバグペンチアムの教訓から一部にせよ不可能じゃなかったっけ?
0151デフォルトの名無しさん
2014/04/19(土) 20:29:03.75ID:x6NH31T1しやすことのトレードオフ。
キャッシュメモリが1bitを5トランジスタで構成するのに対し、
DRAMは1トランジスタと1コンデンサで作れる。
ざっくり言うとキャッシュメモリはDRAMの5倍コストが高い。
8GBのDRAMモジュールが今だと15,000円ぐらいだけど
同じ容量で75,000円もしたら誰も買わないでしょ。
0152デフォルトの名無しさん
2014/04/19(土) 20:30:22.92ID:x6NH31T1マイクロコードの書き換えをFPGAというのは解釈が間違ってる。
0153デフォルトの名無しさん
2014/04/19(土) 20:39:11.27ID:5Hp05dG5お前がいくつか知らんが、見切りつけるなら早い方がいいぞ
0154デフォルトの名無しさん
2014/04/19(土) 20:46:04.20ID:5Hp05dG5早くできる方法提案してから言えよ
0155デフォルトの名無しさん
2014/04/19(土) 20:51:05.09ID:LZqRudIDどのレベルまで速くして欲しくて、
どうやったら出来るか技術的根拠を示してくれ。
0156デフォルトの名無しさん
2014/04/19(土) 21:20:00.92ID:yBmPzOqP市販車の最高速度だって、昔から300km/hくらいだろう
HDDの容量が30万倍になったからって、世の中のすべてのものが30万倍になるわけじゃないんだ
0157デフォルトの名無しさん
2014/04/19(土) 21:31:12.53ID:MP1hLwSAしかも、メモリみたいにものすごい頻度でアクセスすると物理的壊れやすい
0158デフォルトの名無しさん
2014/04/19(土) 21:55:57.16ID:YxJ2dAgI0159デフォルトの名無しさん
2014/04/19(土) 22:02:42.10ID:Db2IzPolDRAM4MB, HDD/130MB位が一般的だった
DRAMが1000倍に対しHDDが10000倍になっている
HDDは垂直磁気化というブレイクスルーがあったが、DRAMには開発当初からみても
トレンチだの多層化だの小さな改良にとどまり大きなブレイクスルーは無い
0160デフォルトの名無しさん
2014/04/19(土) 22:07:10.53ID:lCAnEaLbPS3のCELLと、PS4のジャグラーの違いって何ですか?
FPGA,CELL,ジャグラーを比べると
やはりジャグラーが一番高性能なICチップなんですか?
それとプレステのゲームはCやC++で書かれているというのは本当ですか?
0161デフォルトの名無しさん
2014/04/19(土) 22:12:51.01ID:o0ZatWYG0162デフォルトの名無しさん
2014/04/19(土) 22:13:04.65ID:x6NH31T1まずFPGAとは何かという正確な定義を理解することが
先決じゃないですかね。
0163デフォルトの名無しさん
2014/04/19(土) 22:15:11.98ID:lCAnEaLbプログラム感覚でハードを構成できるVHDLの事だと思うのですが間違いですか?
例えば、ここはトランジスタを2個、でこの端子にNANDを繋ぐとかそういうのを
VHDLで出来るという事ですが、違いますか?
0164デフォルトの名無しさん
2014/04/19(土) 22:22:31.44ID:t9BEvVQhFPGAとは 【 Field Programmable Gate Array 】 - 意味/解説/説明/定義 : IT用語辞典
プログラミングすることができるLSIのこと。
マイクロプロセッサやASICの設計図を送りこんでシミュレーションすることができる。
専用LSIより動作が遅く高価だが、ソフトウェアで回路のシミュレーションを行うよりは高速である。
1985年にXilinx社によって初めて製品化された。
http://e-words.jp/w/FPGA.html
0165デフォルトの名無しさん
2014/04/19(土) 22:48:51.14ID:hxhpR/8Rint a;
}TEST
こういう構造体を作って、呼び出し元でTESTの配列を作り、
void testKansuu(TEST* test){
test[0].a = 200;
}
こういう関数を呼び出す時、引数で構造体のポインタを受け取っているのに、なぜ
test[0]->a = 200;
ではエラーなのかというのがわかりません。誰か教えてください・・・
0166デフォルトの名無しさん
2014/04/19(土) 22:59:18.24ID:EY4uPe0I0167デフォルトの名無しさん
2014/04/19(土) 23:03:18.03ID:opS/PlHv変数 test の型が TEST* の時、test[0] の型は何だと思う?
0168デフォルトの名無しさん
2014/04/19(土) 23:04:14.36ID:lCAnEaLbごめんなさい、勘違いでした
0169デフォルトの名無しさん
2014/04/19(土) 23:33:32.96ID:XTYZNlSuUNIXがCで記述されている事と
C自体にディレクトリの概念がない事は両立する
0170デフォルトの名無しさん
2014/04/19(土) 23:44:38.91ID:t9BEvVQhopendir, fdopendir - ディレクトリをオープンする
準拠
opendir() は SVr4 と 4.3BSD に存在し、 POSIX.1-2001 で規定されている。 fdopendir() は POSIX.1-2008 で規定されている。
http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/opendir.3.html
POSIXとは
IEEEによって定められた、UNIXベースのOSが備えるべき最低限の仕様のセット。
各OS間で最低限の互換性を確保するために定義された。
アメリカ規格協会(ANSI)や国際標準化機構(ISO)でも標準として採用され、
アメリカ政府機関に納入するUNIXシステムが守るべき必須条件となっている。
http://e-words.jp/w/POSIX.html
4.3BSD 1986 年にリリースされた 4.2BSD の後継。
System V release 4 (SVr4) SVr3 の後継。1989 年にリリースされた。
POSIX.1-2001, SUSv3 POSIX.1, POSIX.2, SUS の 2001年の改訂版である。
http://linuxjm.sourceforge.jp/html/LDP_man-pages/man7/standards.7.html
0171デフォルトの名無しさん
2014/04/20(日) 00:19:41.50ID:9cgHqMq80172デフォルトの名無しさん
2014/04/20(日) 00:25:38.30ID:eWgAayNP0173デフォルトの名無しさん
2014/04/20(日) 00:31:58.01ID:DKsTJC1K0174デフォルトの名無しさん
2014/04/20(日) 00:39:38.28ID:GQXLgTkDそうでない場合、chdir()相当の関数が標準ライブラリに用意されていますか?
0175デフォルトの名無しさん
2014/04/20(日) 00:43:26.34ID:VWvh3A+u0176デフォルトの名無しさん
2014/04/20(日) 00:45:30.03ID:gFkdD4A7getcwd、chdirは言語仕様であってもなくても、実用上、標準と違いはだろ。
0177デフォルトの名無しさん
2014/04/20(日) 00:46:49.62ID:DKsTJC1K0178デフォルトの名無しさん
2014/04/20(日) 00:49:27.16ID:UE10veJpごく自然な考え方だと思いまする。
0179デフォルトの名無しさん
2014/04/20(日) 01:00:43.32ID:TERuptSvアルゴリズムと呼んで良いのですか?
0180デフォルトの名無しさん
2014/04/20(日) 01:06:43.39ID:UE10veJp呼んではいけないという法は無いと思いますが。
0181デフォルトの名無しさん
2014/04/20(日) 01:09:20.39ID:TERuptSvどうもありがとうございました
調べ続けた結果、問題の解き方って出てたので、少し勘違いしていたみたいです。
printf使っただけのプログラムをアルゴリズムって呼ぶのは何か違和感を感じました。
0182デフォルトの名無しさん
2014/04/20(日) 01:34:23.12ID:KYYDJXO80183デフォルトの名無しさん
2014/04/20(日) 01:44:52.86ID:GQXLgTkD0184デフォルトの名無しさん
2014/04/20(日) 02:07:39.28ID:jJiPXZnfドライブって、駆動装置の事だって知ってるよね?
0185デフォルトの名無しさん
2014/04/20(日) 02:24:56.55ID:UE10veJp現実に目に見えて手に取れる装置なのです。
パソコンは個人が管理し使用するものですから、装置も本人が手に取って
接続することでしょう。
マイクロソフト社のOSが優れていた点は、コンピューターの中にしかない
仮想的な世界を手で触れられる現実の世界とうまくリンクさせたことでしょう。
現実の世界に存在する装置が、コンピュータ内に独立した一つのオブジェクトとして
存在することは、ほとんどの人にとって理解しやすかったのです。
ゲイツ氏は「自分の母親が使えるようなコンピュータ」を作ろうとしました。
これが理念でありビジョンというものです。
そしてそれは広く受け入れられました。
さすがです。
0186デフォルトの名無しさん
2014/04/20(日) 07:58:35.74ID:9Al1APE2実際、ソフトの仕事は要件決めが、9割だから。
仕様がきちんと決まってれば、あとは作業するだけ。
0187デフォルトの名無しさん
2014/04/20(日) 07:59:53.75ID:78551rL20188デフォルトの名無しさん
2014/04/20(日) 09:57:37.68ID:1afyOgOn言語仕様ではない
それが現実
ただ、MS-DOSの頃はまだCは規格化されていなかった
0189デフォルトの名無しさん
2014/04/20(日) 10:04:43.51ID:YTbrMQGj0190デフォルトの名無しさん
2014/04/20(日) 10:08:06.45ID:DKsTJC1K0191デフォルトの名無しさん
2014/04/20(日) 11:41:35.32ID:f5dP4g9k0192デフォルトの名無しさん
2014/04/20(日) 12:30:04.40ID:QowT8cHi> でも丸1日かかるほうが残業代で稼げるとかそういう現状あったりする?
出来ない奴は風呂入れず体が腐って脱毛・インキンになるくらい働いても
結果的に年収400万が上限だな。
出来ると言われる人は、週に2回4時間ほど出勤するだけで年収600万〜
だし、定時で働いたら年収にすると1200万以上もらえるもんだよ。
逆に言うと、そうだな、フルタイムで年収1000万を切るような
能力ならプログラマなんかやめたほうがいい。30歳になる前に。
安いのが職場のせいなら、わざわざ言わなくても分かると思うが、
別の職場も探したほうがいい。
まあそれが出来ない能力なら、やはりこの業界はやめたほうがいい。
くどいようだが「30歳になる前」にな。
でないと取り返しがつかないことになるだろう。
それが現実だ。
0193デフォルトの名無しさん
2014/04/20(日) 12:30:34.78ID:hz5FtH460194デフォルトの名無しさん
2014/04/20(日) 16:35:21.63ID:PbdtxenDんで君は30過ぎてインキンになって低年収なんで言ってる事に真実味があるわけだな
よくわかった
0195デフォルトの名無しさん
2014/04/20(日) 16:40:37.79ID:2OQiDT8K基本的に全部staticにする勢いで考えて
どうしてもstaticにできないもののstaticを外す風にするといいよ
0196デフォルトの名無しさん
2014/04/21(月) 19:53:07.89ID:tSPN//Zi0197デフォルトの名無しさん
2014/04/21(月) 21:07:39.52ID:ks00ewoZC言語なら俺に聞け(入門編)Part xxx
があった方がいいのだろうか
0198デフォルトの名無しさん
2014/04/21(月) 21:17:03.11ID:Q9CWt8FH0199デフォルトの名無しさん
2014/04/21(月) 21:19:38.70ID:NS334t720200デフォルトの名無しさん
2014/04/21(月) 21:56:08.87ID:Q9CWt8FH0201デフォルトの名無しさん
2014/04/21(月) 22:13:47.95ID:tSPN//Zi誤字誤字
0202デフォルトの名無しさん
2014/04/21(月) 22:48:19.46ID:nDf0t8Hxそんなもの無視して hoge なソースを公開していればいい
0203デフォルトの名無しさん
2014/04/22(火) 14:31:06.36ID:obIqqU3+16ビットのビット演算について教えてください。
unsigned short red,green,blue;
unsigned int color;
colorに高い方から、5,6,5というように、それぞれred、green、blueというようにデータが割り当ててあります。
ここでビット演算で各色を計算すると思うのですが、具体的にどのような方法が一番よいのでしょうか?
ご回答よろしくお願いします。
0204デフォルトの名無しさん
2014/04/22(火) 15:59:12.12ID:6QMxCkN6printf("%d", num%10);
num=num/10;
}while(num>0);
中途半端ですけど、1963って入力すると3691と逆になります
C言語始めたばかりでよくわかりません・・・orz
詳しく説明してくれませんか?
0205デフォルトの名無しさん
2014/04/22(火) 16:15:40.81ID:wbvUFYat思いつきで
#define RED_MASK 0xf800
#define RED_SHIFT (6+5)
#define GREEN_MASK 0x07e0
#define GREEN_SHIFT (5)
#define BLUE_MASK 0x001f
#define BLUE_SHIFT (0)
color = ((red & RED_MASK)<<RED_SHIFT ) | ((green & GREEN_MASK)<<GREEN_SHIFT ) | ((blue & BLUE_MASK)<<BLUE_SHIFT);
red,green,blueが各値のMAX値を超えない保証があるならマスク不要。
0206デフォルトの名無しさん
2014/04/22(火) 16:23:49.70ID:wbvUFYatred = (color & RED_MASK)>>RED_SHIFT;
green = (color & GREEN_MASK)>>GREEN_SHIFT;
blue = (color & BLUE_MASK)>>BLUE_SHIFT; /*最適化でシフト工程削除を期待*/
0207デフォルトの名無しさん
2014/04/22(火) 17:00:25.92ID:W0hXuU4O1693 ÷ 10 で余り 3
商をnumに代入 でnum は169
169 ÷ 10 で余り 9
商をnumに代入 でnum は16
16 ÷ 10 で余り 6
商をnumに代入 でnum は1
1 ÷ 10 で余り 1
商をnumに代入 でnum は0
継続条件が num > 0 なんでお終い
0208デフォルトの名無しさん
2014/04/22(火) 18:03:16.12ID:rywqDi7U0209デフォルトの名無しさん
2014/04/22(火) 18:12:18.33ID:W0hXuU4OC言語 加減乗除 でggr
0210デフォルトの名無しさん
2014/04/22(火) 21:06:17.97ID:BSZVNMjV0211デフォルトの名無しさん
2014/04/22(火) 23:19:00.68ID:t/DqEaaBシフトとマスク逆じゃね
っつうわけで
#define SHIFTED(val, COLOR) (((val) << COLOR ## _SHIFT) & COLOR ## _MASK)
#define VAL(color_val, COLOR) (((color_val) & COLOR ## _MASK) >> COLOR ## _SHIFT)
color = SHIFTED(red, RED) | SHIFTED(green, GREEN) | SHIFTED(blue, BLUE);
red = VAL(color, RED);
0212デフォルトの名無しさん
2014/04/23(水) 06:28:07.52ID:2DXxZdhDありがとうございました
0213205
2014/04/23(水) 08:11:08.34ID:nANgtZqLそうだねorz
0214デフォルトの名無しさん
2014/04/24(木) 02:19:56.66ID:29x10p2Yテストや保守は別の人がやるものじゃないのか?
0215デフォルトの名無しさん
2014/04/24(木) 16:55:33.40ID:otCCdij/0216デフォルトの名無しさん
2014/04/24(木) 17:07:47.52ID:BYo0a+oSint n;
for(n = 3; n < 227 ; n++ ) // nの上限が n<228以上でバグ n = 227の時に動作不良
{ judge(n); }
return 0;}
judgeは整数nが素数ならば表示しそうでなければ何もしない関数なのですが、n<227以下なら正常に終わるのですが、
0217デフォルトの名無しさん
2014/04/24(木) 18:06:58.54ID:BYo0a+oSjudge()に問題があるのかと覆ったのですが、nの初期値を226にすると上限がn<359ならば問題ないのですが、上限を359以上にすると上と同じようにおかしくなってしまいます。
同じようにnの幅を小さくして実行すると正常にできるのですが、上限なし等にすると途中でおかしくなってしまうのはなぜですか?
コンパイラは"gcc version 4.8.1 20130909 [gcc-4_8-branch revision 202388] (SUSE Linux)"です
0218デフォルトの名無しさん
2014/04/24(木) 18:18:41.15ID:+RFQ6aOq0219デフォルトの名無しさん
2014/04/24(木) 19:22:16.07ID:tXCIarBm全部さらせ,話はそれからだ
0220デフォルトの名無しさん
2014/04/24(木) 21:59:15.98ID:Dm4So2an0221デフォルトの名無しさん
2014/04/25(金) 01:24:34.56ID:J0O0+fbtvoid judge(int n)
{
int i;
for (i = 2; i * i <= n; ++i)
if (n % i == 0)
return;
printf("%d ", n);
}
0222デフォルトの名無しさん
2014/04/25(金) 07:15:29.19ID:I0yUpS7Clog(226 * 226) / log(2) → 15.6
226*226 の結果を符号無しで表現するのに 16bit 必要
0223デフォルトの名無しさん
2014/04/25(金) 16:47:47.01ID:fQTWxI7Q#include <stdlib.h> //pickup()
#include <dirent.h> //countfile()
int main(){
int n;
for(n = 227; n < 359 ; n++ ) // nの上限が n<228以上でバグ n = 227の時に動作不良
{ printf("judging %d\n",n);
judge(n);
usleep(50000);
} return 0; }
int judge(int n) // 整数nが素数かどうか判断
{ int i = 1;
int p;
p = pickup(i);
while( ( n % p ) != 0 ) {
if(p >= n/2)
{ break; }
else{
i ++;
p = pickup(i);}
}
if( ( n % p ) != 0 ) {
write(n);
printf("%d is prime number.\n", n);
return 1; }
else { return 0; }
}//judge is end
int pickup(int k) //k番目の素数を引き渡す
{ int pu;
char primefile[100];
sprintf(primefile, "./prime/prime%d.txt", k);
0224デフォルトの名無しさん
2014/04/25(金) 16:49:01.80ID:fQTWxI7Qfp = fopen(primefile, "r");
if( fp == NULL ) {
printf("file open is fale.");
} else {
fgets(primefile, 99, fp);
pu = atof(primefile);
}return pu;
} //pickup end
write(int n)//整数nを次のpirmeに書き込む
{ FILE *fp;
char filename[256];
int c = count(0);
c = c + 1;
sprintf(filename, "./prime/prime%d.txt", c);
fp = fopen(filename, "w");
fprintf(fp, "%d", n);
fclose(fp);
}//write is end
int count(void)// ./prime内にあるファイルの数を数える{
DIR *dir;
struct dirent *dp;
char path[10] = "./prime/";//対象フォルダを指定
dir=opendir(path);
int i = 0;
for(dp=readdir(dir);dp!=NULL;dp=readdir(dir))
{// printf("%s\n",dp->d_name);
i = i + 1; }
closedir(dir);
i = i - 2;
return i; }//count is end
0225デフォルトの名無しさん
2014/04/25(金) 16:51:58.43ID:fQTWxI7Qやはりjudge()に問題があるのでしょうか?
0226デフォルトの名無しさん
2014/04/25(金) 17:24:09.01ID:J7Pyepd0メモリの1と0の点滅の速度でデータを表現するって方法はダメなんでしょうか?
例えば4ビットで、点滅速度が10ギアあれば4^10=1000京個の状態を表せないですか?
0227デフォルトの名無しさん
2014/04/25(金) 18:33:16.14ID:NEPb//MGpickup(i) <--- i番目の素数を取得。
write(n) <--- チェック対象の数n。
に成ってしまってる。
あと、tmpfsは使えないんだっけ?
0228デフォルトの名無しさん
2014/04/25(金) 18:45:03.59ID:S9fMZq7/0229デフォルトの名無しさん
2014/04/25(金) 18:45:07.91ID:NEPb//MG>メモリの1と0の点滅の速度でデータを表現するって方法はダメなんでしょうか?
表現は可能だけど、速度固定?
1とか0が連続した場合を考慮すると、同期ビットが必要。
>例えば4ビットで、点滅速度が10ギアあれば4^10=1000京個の状態を表せないですか?
10ギガ?
従来技術で似てるのは分割アドレッシングかな。
例えば32ビットデータ、アドレス表現のために8ビットを4回出力するとか。
1000京=10^19は、64ビットあれば足りるから、4ビット点滅を16サイクルで可。
0230デフォルトの名無しさん
2014/04/25(金) 18:50:16.04ID:NEPb//MG・メモリ節約
・ビット毎に意味が有り、読み書きは8ビット単位(文字としてコーディング可)で行いたい場合。
組込みスレで聞いたら、他の用途も有るかも。
0231デフォルトの名無しさん
2014/04/25(金) 19:43:32.21ID:FFnZjqaHバージョンによってデータ構造が変わってるとき、一つの型で対応可能。
struct {
int ver;/*バージョン番号*/
union {
struct { /*バージョン1用*/
...
};
struct { /*バージョン2用*/
...
};
...
0232228
2014/04/25(金) 20:29:16.80ID:S9fMZq7/なかなかイメージが湧きにくいんですが、例えば1つのファイルをこのレコードはAというデータ用のフォーマット、これはBというデータ用のフォーマット…
的に使っているみたいな?(あくまでも例えですが)。
0233デフォルトの名無しさん
2014/04/25(金) 20:35:47.15ID:dV13/S1E8ビットで32ビットを表現できるんですか?それってその代りどこかの場所を
24ビット分使ってるって事ですか?
0234デフォルトの名無しさん
2014/04/25(金) 20:44:51.58ID:G5RxlAgl組み込みなどでメモリに割り当てられたレジスタを
1バイトまるまるアクセスしたい場合とビットアクセスしたい場合とか
0235デフォルトの名無しさん
2014/04/25(金) 21:04:07.77ID:jPmvuOB6昼はうどん屋で夜はキャバレー
0236デフォルトの名無しさん
2014/04/25(金) 22:24:34.87ID:KbLWmMY4そのあとに登場した言語でも共有体はないものがほとんど
0237デフォルトの名無しさん
2014/04/25(金) 22:33:20.64ID:vKWRVcWD余りに頓珍漢過ぎて突っ込みどころ満載なんだがスレ違い過ぎる。
0238デフォルトの名無しさん
2014/04/25(金) 22:36:30.33ID:I0yUpS7Cchar a[8];
*(long *)&a = 5;
0239デフォルトの名無しさん
2014/04/25(金) 22:37:06.12ID:I0yUpS7C0240デフォルトの名無しさん
2014/04/25(金) 22:48:33.17ID:S9fMZq7/なるほど〜。その必要が出てきた時に…ということにしておきます。
ありがとう
0241デフォルトの名無しさん
2014/04/25(金) 22:56:52.48ID:87xzAhfm乱暴なキャスト??
はぁああああ???
0242デフォルトの名無しさん
2014/04/25(金) 23:12:10.60ID:FFnZjqaH概念だけ覚えておけば十分だけど。
0243デフォルトの名無しさん
2014/04/26(土) 08:34:42.65ID:GFDthRRcstruct st_port {
union {
struct {
unsigned char B7:1;
unsigned char B6:1;
:
unsigned char B0:1;
} BIT;
unsigned char BYTE;
} PDR;
};
#define PORT0 (*(volatile struct st_port*)0xFFFFFF00)
PORT0.PDR.BIT.B0 = 0;
PORT0.PDR.BYTE &= ~0x01;
0244デフォルトの名無しさん
2014/04/28(月) 20:57:10.27ID:Ukx0JAM/char型の一文字、”a”という文字をアスキーコードの97になるように出力するコードを教えてください!
よろしくお願いします!
0245デフォルトの名無しさん
2014/04/28(月) 21:19:08.18ID:BzoKLgJq0246デフォルトの名無しさん
2014/04/28(月) 21:29:58.91ID:Y7MCHYkV「これは文字コードだ」「これは文字列だ」と仮定して処理してるだけ。
0247244
2014/04/28(月) 22:48:31.44ID:Ukx0JAM/スレ汚しすみません
#include <stdio.h>
int main(void)
{
char x = 'a';
int b;
b = (int)x;
printf("%d",b);
return 0;
}
0248デフォルトの名無しさん
2014/04/28(月) 22:58:18.12ID:hrRMkWp40249デフォルトの名無しさん
2014/04/28(月) 23:03:04.84ID:rohD7ll5自己解決したと言い切る>>247はすごいと思う。
0250デフォルトの名無しさん
2014/04/28(月) 23:24:14.35ID:M9nPC3Y9KACさん、ここはム板じゃないんでIDでバレバレですよ。
0251デフォルトの名無しさん
2014/04/29(火) 00:16:42.59ID:DTtenoOgここはム板な訳だが?
つか、粘着君必死だな
0252デフォルトの名無しさん
2014/04/29(火) 15:53:04.40ID:+GFTFC3IWin7 BCC32 で、CSVファイルを開いて画面に出力するもの
http://codepad.org/dm194OSq
なんですが、終了時に異常終了しています。
また見てみると先頭の値がおかしいし。
http://www.dotup.org/uploda/www.dotup.org5026133.jpg
どう直せばいいんでしょう
0254デフォルトの名無しさん
2014/04/29(火) 16:20:35.74ID:Fa4k2u0F人が読んで理解しやすいソースがいいソース。
0255デフォルトの名無しさん
2014/04/29(火) 16:29:07.40ID:+GFTFC3I>>253
あれが悪さをしてたみたいです。感謝
>.254
そうですか?一人でやってるもので他人のソースは見る機会がないもんで。
どう変えれば「人が読んで理解しやすいソース」になります?
0256デフォルトの名無しさん
2014/04/29(火) 16:55:01.78ID:CgT7pfVi一つだけ挙げるなら、カンマのうしろはスペースあけろってことくらい
カラム数が9個で決め打ちなのはただのお遊びプログラムならよくあること
0257デフォルトの名無しさん
2014/04/29(火) 17:47:21.13ID:w+aVJCtD全然正常の範囲よ
本物の糞コードはもっと臭ってるから
本物の糞コードはこれだ
1) 抽象化が下手か、皆無
2) 名前が糞
3) 分かってなくてこれ書いてるな、と丸分かりな箇所がある
4) コピペが見え隠れする
5) どうやったらそうなるんだ、という脅威の遠回り長文ロジック
そんで、糞コード書くやつってもれなく言い訳がましいからw
0258デフォルトの名無しさん
2014/04/29(火) 17:52:27.24ID:r23HAMeu...
} else if(a==0 && b==1) {
...
} else if(a==1 && b==2) {
...
} else if(a==2 && b==0) {
...
} else if(a==1 && b==1) {
...
0259デフォルトの名無しさん
2014/04/29(火) 18:42:40.91ID:u8cJRNlnc = a*1000 + b;
if(c==0) {
...
} else if(c==1) {
...
} else if(c==1002) {
...
} else if(c==2000) {
...
} else if(c==1001) {
...
なんてね。
0260デフォルトの名無しさん
2014/04/29(火) 20:41:31.24ID:Fa4k2u0Fどうしても1行で済ませたいなら改行とインデントで
何を読み取ろうとしているのかわかりやすくするとか。
ベタで1行に大量の項目を並べると理解度は下がる。
0261デフォルトの名無しさん
2014/04/29(火) 20:49:42.18ID:ukQbEq4U0262KAC
2014/04/29(火) 21:04:28.15ID:3cTlepGQsscanfでやってる処理を区切ると余計見づらくなると思うが。
一行で書けるなら一行に収めるのも一つの手法。
それはそうとして、あのソース見れば解ったとは思うけど、
あの処理はあれで完成じゃないぞ?
段階を追って作っていく中でつまづいた質問だろう。
そもそもそんなに目くじら立てんでもいいだろ?
0263デフォルトの名無しさん
2014/04/29(火) 21:31:21.29ID:gpRdg9fO> 一行で書けるなら一行に収めるのも一つの手法。
まったく同意。
この場合みたいなテストプログラムならなおさら。
一行ですむもんをぐだぐだ書いたってしゃあないの一言。
0264デフォルトの名無しさん
2014/04/30(水) 09:44:25.00ID:+wNot7iM0265デフォルトの名無しさん
2014/05/01(木) 00:18:37.20ID:3vaVvjrK> 副作用完了点までの間に複数の副作用を含まないなら
複数含んでたら書き方以前の問題かと
0266デフォルトの名無しさん
2014/05/01(木) 02:55:46.95ID:y8YtF35mは?
0267デフォルトの名無しさん
2014/05/01(木) 18:43:32.27ID:gF+7r6TF*a++ = *b++; こっち側を通すかどうかの話でしょ?
0268デフォルトの名無しさん
2014/05/01(木) 20:06:05.44ID:SQr5GroH0269デフォルトの名無しさん
2014/05/01(木) 20:20:12.29ID:5gqYN/3d0270デフォルトの名無しさん
2014/05/01(木) 21:03:10.82ID:zNLeyvzf普段から常用してる言語ならいいけど
たまにしか書かないようなものは読みづらいからね
0271デフォルトの名無しさん
2014/05/01(木) 23:12:43.17ID:CqnWdcr7イメージわからん
0272デフォルトの名無しさん
2014/05/02(金) 13:57:38.77ID:L/TPuthe0273デフォルトの名無しさん
2014/05/03(土) 20:32:00.11ID:CisfHpp90274デフォルトの名無しさん
2014/05/03(土) 20:54:06.07ID:SK8slS+Pchar _a;
const char* a = &_a;
*a = 1; /* NG */
a++; /* OK */
char* constはポインタがconstになる
char _b;
char* const b = &_b;
*b = 1; /* OK */
b++; /* NG */
const char* constはどっちもconstになる
char _c;
const char* const c = &_c;
*c = 1; /* NG */
c++; /* NG */
0275デフォルトの名無しさん
2014/05/03(土) 20:57:47.16ID:0KpDKEU+char *const p // charへの、constポインタ。*p = 'a'できるがp = &othercharできない。
0276デフォルトの名無しさん
2014/05/04(日) 20:38:50.42ID:3UsGawbEint size;
int ar[] = { 1,2,3,4,5,6,7,8,9};
printf("要素数は %d\n", sizeof(ar) /sizeof(ar[0]));
で、9とでてきますけど、文字の配列で例えば
char *mojiar[] = {
"line1",
"line2",
"line3",
"line4",
"line5"
};
となってる時に、要素数はどうすれば出せますか?
0277デフォルトの名無しさん
2014/05/04(日) 20:47:03.84ID:0ZuyhgxYsizeof (mojiar) / sizeof(char *)
0278デフォルトの名無しさん
2014/05/04(日) 20:52:32.63ID:3UsGawbE0279KAC
2014/05/04(日) 21:51:14.83ID:nXeCksGusizeof (mojiar) / sizeof(*mojiar)
0280デフォルトの名無しさん
2014/05/05(月) 05:54:47.33ID:H8XQmoUYsizeof mojiar / sizeof mojiar[0]
0281デフォルトの名無しさん
2014/05/05(月) 08:28:45.04ID:xbN8Vu9G#define N(mojiar) (sizeof mojiar / sizeof *mojiar)
0282デフォルトの名無しさん
2014/05/05(月) 16:20:46.21ID:/jkwSONzCに向く人、向かない人の違いってありますか?
たとえばチンチンが臭い臭くないとかオナニーは皮派とか
0283デフォルトの名無しさん
2014/05/05(月) 16:24:22.03ID:G/LEF2WP剥くか剥かないかってことか
0284デフォルトの名無しさん
2014/05/05(月) 16:54:26.55ID:IS5v0d9K0285デフォルトの名無しさん
2014/05/06(火) 09:46:12.21ID:vwF5zeGs1スタックポインタ
2ヒープポインタ
3マクロポインタ
4ポインタ
freeで解放出来るのは2のヒープポインタだけ
0286デフォルトの名無しさん
2014/05/06(火) 10:30:40.89ID:G4//2ydq0287デフォルトの名無しさん
2014/05/06(火) 11:17:17.43ID:R4LFdeTLスタックポインタはレジスタの一種だ
「マクロポインタ」とはいったいなんだ?なにをいいたい?
0288デフォルトの名無しさん
2014/05/06(火) 17:38:30.99ID:9sMBK1rg0289デフォルトの名無しさん
2014/05/06(火) 17:42:25.87ID:Q6ONYLly0290デフォルトの名無しさん
2014/05/06(火) 17:44:45.15ID:N+NRabHR0291デフォルトの名無しさん
2014/05/06(火) 17:45:09.31ID:YllznT6S0292デフォルトの名無しさん
2014/05/06(火) 18:13:01.07ID:V0rBJUJI配列もあるんでしょうか?統一しないんでしょうか?
0293デフォルトの名無しさん
2014/05/06(火) 18:22:43.05ID:R4LFdeTL数学にだって、自然数は 0 からはじまる、と定義する流儀もあれば、1 からはじまる、とする流儀もあるし、統一はむりじゃないか?
0294デフォルトの名無しさん
2014/05/06(火) 18:23:13.04ID:ACrdZTCb別に1から使っても構わんけど?
0295デフォルトの名無しさん
2014/05/06(火) 18:24:19.24ID:+MWBoNlC0296デフォルトの名無しさん
2014/05/06(火) 18:32:35.80ID:dMgIQu+fぬるぽ。
0297デフォルトの名無しさん
2014/05/06(火) 18:34:37.97ID:I472fBGh0298デフォルトの名無しさん
2014/05/06(火) 18:50:31.35ID:iz76HTaG>言語によっちゃ1から始まる配列もあるんでしょうか?
FORTRAN という科学技術計算向け言語は1から始まる
また Pascal や Modula といったアルゴリズムの記述を目的に
教育用途から発展した言語だと、
a[1..N] みたいに任意の下限と上限を宣言できたりする
C言語はOSなどのシステムプログラミング向けに設計され、
それ以前はアセンブリ言語で書かれたコードを
構造化された高級言語で置き換えることを目的としていた
もしアセンブリ言語を知っていれば、
a[0] が *(pa + 0) と等価でありa[1] が *(pa +1) と等価であることに関して、
ポインタ pa とはCPUのインデックスレジスタであり
*(pa + 0) が相対アドレッシングであるから、
配列の添字が相対アドレッシングのオフセット値に対応する概念であると
容易に直感できる
こうした歴史的背景があるから、少なくともC言語の仕様として
配列の開始が0ではなくなることは、まず考えられないと思われる
0299デフォルトの名無しさん
2014/05/06(火) 22:51:09.46ID:6lVuVN20デフォルトでは0
0300デフォルトの名無しさん
2014/05/06(火) 23:44:36.43ID:wMsmsiA/今はもう頭が0オリジンになっちゃってて久々にVBやると間違えそうになるけど
0301デフォルトの名無しさん
2014/05/07(水) 08:24:45.99ID:FZZA6k3kそもそも VB なら
Dim A(-5 To 5, 1 To 50)
とかできるし。
0302デフォルトの名無しさん
2014/05/07(水) 16:15:33.88ID:up6dAhbLcc = buff[i*4];
}
>292
perlじゃ0 = nullだから
知らずにやると痛い目見る
0303デフォルトの名無しさん
2014/05/07(水) 20:36:01.90ID:g53DG78n0304デフォルトの名無しさん
2014/05/07(水) 20:40:37.90ID:x+fgQX7Mint a = i++;
int b = ++j;
0305デフォルトの名無しさん
2014/05/07(水) 20:41:11.59ID:C2atmMD00306デフォルトの名無しさん
2014/05/08(木) 08:51:57.03ID:T/af7hsE0307デフォルトの名無しさん
2014/05/08(木) 12:31:26.83ID:4bzQOeSAホストのVSAMやRDBみたいにキーを指定してってのは…無いんですか?
0308デフォルトの名無しさん
2014/05/08(木) 13:19:18.28ID:saEXqLt0>レコード番号を指定して読みだすんですよね?
いや、違う
C言語でバイナリファイルと言えば、一般的には
1バイト単位にアクセスできる列(ストリーム)を指す
具体的には、ファイルの先頭を0とした相対的なバイト位置
(これをオフセットと呼ぶ)をライブラリ関数 fseek で指定し、
fread や fwrite でアクセスするのが基本
>キーを指定してってのは…無いんですか?
UNIXであればISAMに相当する標準ライブラリとして dbm がある
また dbm から派生した gdbm(GNU版dbm)やbdb(Berkeley DB) などを
使うケースも多い
特に bdb はWindows版もありオラクルに買収されたほどよく知られている
ここで書いた fseek や dbm といったキーワードで調べるといいと思う
0309デフォルトの名無しさん
2014/05/08(木) 15:52:14.38ID:Pn75zzX2BasicかYO! w
0310デフォルトの名無しさん
2014/05/08(木) 16:02:42.17ID:4bzQOeSAまた勉強しますm(__)m
0311デフォルトの名無しさん
2014/05/08(木) 16:18:34.28ID:/l8rqogH0312デフォルトの名無しさん
2014/05/08(木) 20:13:26.27ID:Ute3QYwMと宣言した配列に、後から、
a[0] = 3;
a[1] = 15;
a[2] = 31;
と値をひとつひとつ入れていくのではなくて、
a = {3, 15, 31, …}
みたいな感じでいっぺんに入れてやる方法はないでしょうか。
配列の宣言時に出来るのは知ってますが、後からいっぺんに値をいれる方法がわかりません。
宜しくお願いします。
0313デフォルトの名無しさん
2014/05/08(木) 20:19:23.59ID:EUIeAaSZ言語仕様的にかけたとしても中身は変わらん。
0314デフォルトの名無しさん
2014/05/08(木) 20:33:39.71ID:Ute3QYwMC言語にはそういう書き方はないということですかね
ありがとうございました。
0315デフォルトの名無しさん
2014/05/08(木) 23:07:24.24ID:2uAXp7x3int hoge[10];
} hoge;
hoge = (struct hoge){
{
[0] = 3,
[1] = 15,
[2] = 31,
}
};
0316デフォルトの名無しさん
2014/05/10(土) 15:36:09.18ID:lg7l82Ku0317デフォルトの名無しさん
2014/05/10(土) 15:41:59.91ID:ekEKKV6e0318デフォルトの名無しさん
2014/05/10(土) 16:03:32.85ID:NonsVfNuなるほど!ありがとうございますm(__)m
0319デフォルトの名無しさん
2014/05/10(土) 22:36:01.26ID:daXnFUnItypedef struct testdata{
int test1;
int test2;
char nm[10];
} dat;
↑のフォーマットで5件バイナリデータを作って一気に表示させるのは
FILE *fp;
dat dt;
while ( fread(&dt,sizeof(dat),1,fp) > 0 ) {
printf("%d件目 %d %d %s \n",i+1 , dt.test1 ,dt.test2 ,dt.nm );
i++;
}
で、出来たんですが、、、
例えば、このデータで3件目のレコードを表示させたいって時のやり方教えてくださいm(__)m
0320デフォルトの名無しさん
2014/05/10(土) 22:47:26.86ID:mSYbJb4o0321デフォルトの名無しさん
2014/05/10(土) 23:02:48.61ID:ekEKKV6efseek( fp, sizeof( dat ) * 3, SEEK_SET ); で解決だったりして。
0322デフォルトの名無しさん
2014/05/10(土) 23:04:21.70ID:ev7/gDLEといった時
1オリジンだから
*2じゃないかな
0323デフォルトの名無しさん
2014/05/10(土) 23:05:21.85ID:O2yhZ3exそういう問題じゃなくて?
0324デフォルトの名無しさん
2014/05/10(土) 23:13:45.12ID:PndWl6nFi == 2 の時だけprintfすればいい気が
処理コスト的に考えればやっぱりfseek使う方がスマートだと思う
0325319
2014/05/10(土) 23:23:53.38ID:daXnFUnIprintf("%d %d %s\n", dt.test1 , dt.test2 , dt.nm);
としたんですが、表示がおかしいんですよ。
後、
>sizeof(構造体)と構造体メンバーの合計サイズがイコールとは限らないとか
それも聞こうと思ってました。出来たのを見るとファイルサイズが100バイトになってるのが?なんですけど。
0326デフォルトの名無しさん
2014/05/10(土) 23:25:34.78ID:ev7/gDLEで検索だな
0327デフォルトの名無しさん
2014/05/10(土) 23:31:44.38ID:ekEKKV6eそれでどーして表示できると思えるんだ。
0328デフォルトの名無しさん
2014/05/11(日) 00:01:47.36ID:/Ar5RUMpint test1 4バイト int test2 4バイト char nm[10] が10バイト
そして多分最後に詰め物が2バイト
それが5セットで100バイト
fseek( fp, sizeof(dat)*2, SEEK_SET );
fread(&dt,sizeof(dat),1,fp);
printf("%d %d %s\n", dt.test1 , dt.test2 , dt.nm);
0329319
2014/05/11(日) 00:03:30.38ID:9n+Ded1dすいませんね
fseek( fp, sizeof(dat)*3, SEEK_SET );
if (fread(&dt, sizeof(dat),1,fp) == 1){
printf("%d %d %s\n", dt.test1 , dt.test2 , dt.nm);
}
で出来ました。この件数の位置については>>322さんの言うとおりで、それも修正しないといけないですが。
後、>>326さん、ありがとです。
0330デフォルトの名無しさん
2014/05/18(日) 15:31:10.25ID:FscDVE+k0331デフォルトの名無しさん
2014/05/18(日) 16:02:54.17ID:Z+XtEV4Y0332デフォルトの名無しさん
2014/05/18(日) 16:16:58.03ID:pYhQF883ある分岐処理についてif文とswitch文のどちらでもコード化できるなら、
迷うことなくswitch文を使うべき
if文では条件判定として任意の式が書けるのに対し、
switch文のcase節だと定数式しか書けない
言い換えると、switch文のほうがコードとして表現できる範囲が狭い
あえてswitch文を選ぶことによって、コードの読み手に対して
この分岐処理は定数式で条件判断できるという意図を示すことができる
0333デフォルトの名無しさん
2014/05/18(日) 16:51:24.32ID:PgXwbEuBif文で書け
0334デフォルトの名無しさん
2014/05/18(日) 17:15:33.31ID:gVgdo/dn0335デフォルトの名無しさん
2014/05/18(日) 17:31:10.91ID:4n3Aw6on0336デフォルトの名無しさん
2014/05/18(日) 17:36:24.82ID:uXRvIAKxPC環境が大抵多画面なのは何故ですか?
俺みたいにノート一台でプログラミングするのは稀?
0337デフォルトの名無しさん
2014/05/18(日) 17:38:18.21ID:lWjJVkd20338デフォルトの名無しさん
2014/05/18(日) 17:40:45.23ID:lWjJVkd2すみません、自己レス。ここでは、switch文は使わないとしてください。
0339デフォルトの名無しさん
2014/05/18(日) 17:44:15.62ID:Epdlusmt関数へのポインタで処理すればすっきりするのでは?
0340デフォルトの名無しさん
2014/05/18(日) 18:44:37.25ID:KHcRh0FR0341デフォルトの名無しさん
2014/05/18(日) 19:37:59.33ID:untGUeAU俺もswitchは好きだが、
if(){
}else if{
}else……
とすればインデントは増えないことを知ってからif派になった。
どうせ同じ意味になるしねー
>>336
俺も基本ノートだったが、中古のサブモニくっつけたら世界が変わったぞ
(ブラウザ画面とかを別に避けて表示できるからかなり捗る)
0342デフォルトの名無しさん
2014/05/18(日) 19:43:07.84ID:gVgdo/dncase文が数万個とかなったらその方が高速になるね
0343デフォルトの名無しさん
2014/05/18(日) 19:51:21.73ID:oxq+ikAO中古で安く調達して試してみるといいよ
仕事(マじゃないよ)でも手放せない
0344デフォルトの名無しさん
2014/05/18(日) 19:52:25.54ID:oxq+ikAOWindows の例題はそんなのしかみたことがない
0345デフォルトの名無しさん
2014/05/18(日) 20:39:00.62ID:h2IaAd5k定数で単純に分岐するなら switch( ) の方が望ましいと思う。
コンパイラによるけど、間違えて同じ定数書いた時にエラーにしてくれたり、enum だとさらに、使われてない定数があることを警告してくれるとかの支援機能があるから。
0346デフォルトの名無しさん
2014/05/18(日) 20:44:35.52ID:BExb4OPW意図的ならコメントにFALLTHROUGHって書いてるな
0347デフォルトの名無しさん
2014/05/18(日) 21:01:34.23ID:gVgdo/dnhttp://ideone.com/u0lX5b
みたいなイメージ
0348デフォルトの名無しさん
2014/05/18(日) 21:36:52.53ID:P2EXL/Geifの条件に定数以外を使えることは、if〜else if方式の欠点でもある
バグも温床になるよ
0349デフォルトの名無しさん
2014/05/18(日) 21:46:20.97ID:vsDYEvfp0350デフォルトの名無しさん
2014/05/18(日) 21:54:05.96ID:N+11ThYv0351デフォルトの名無しさん
2014/05/18(日) 22:12:13.35ID:C1UdNOr50352デフォルトの名無しさん
2014/05/18(日) 22:24:03.73ID:Eb7sh+a50353デフォルトの名無しさん
2014/05/18(日) 22:33:24.98ID:4n3Aw6on作成中のアプリの画面用と、デバッグ情報の表示用とか
複数モニターはわりと便利
0354デフォルトの名無しさん
2014/05/18(日) 22:59:47.17ID:ber0Pvb0それ以外はif文使用と変わらない処理だって昔聞いた。
86系の16bit時代の話で他の環境ではどうなるか知らない。
0355デフォルトの名無しさん
2014/05/18(日) 23:05:08.55ID:Z6hzAnou90年代の前半ころのMS-Cは、分岐が7以上で等差数列だったらテーブルジャンプになってたわ。
0からとかって縛りはなかった。
0356デフォルトの名無しさん
2014/05/19(月) 04:09:48.37ID:RBLcqImu0357デフォルトの名無しさん
2014/05/19(月) 06:13:46.72ID:SdRbB6EKごっつう気持ちええで〜
0358デフォルトの名無しさん
2014/05/19(月) 10:29:46.95ID:1fVFahQ00359デフォルトの名無しさん
2014/05/19(月) 13:22:35.66ID:wBsls3I6別にswitch使うのはifより速いからじゃないし
0360デフォルトの名無しさん
2014/05/19(月) 17:46:02.98ID:RdUiR/FU多画面の場合そのディスプレイのOSは何になるのですか?
C言語勉強してるのですが、プログラミングと出力で分けたい
0361デフォルトの名無しさん
2014/05/19(月) 18:02:37.82ID:DMkpVtrD|
| ちょっと何言ってるか分からないです
|
|
| [ オプション(O) ] [ 検索(S) ]
|
`──────────┐ ┌───
, '´l, ..| ./
, -─-'- 、i_ |/
__, '´ ヽ、
',ー-- ● ヽ、
`"'ゝ、_ ',
〈`'ー;==ヽ、〈ー- 、 !
`ー´ ヽi`ヽ iノ
! /
r'´、ヽ
`´ヽノ
0362デフォルトの名無しさん
2014/05/19(月) 18:07:18.47ID:RdUiR/FUメインで使うPCのディスプレイはOSが入ってると思うけどサブ画面の場合
OSはどうしたらいいんですか?
0363デフォルトの名無しさん
2014/05/19(月) 18:34:30.85ID:DMkpVtrDそれ以外の環境なら設計者次第だろ。
0364デフォルトの名無しさん
2014/05/19(月) 18:56:04.46ID:Qnqq0oOUマルチモニタ、マルチディスプレイで検索しろ。
それより前に日本語勉強しなおせ。
0365デフォルトの名無しさん
2014/05/19(月) 19:45:49.91ID:RdUiR/FUということはサブで見せたい画面だけを移動するってことですか?
そういうのってソフトいらないのですか?>>364
分かりにくい説明の質問だったらすいません、難しい分野の問題で
言語からちょっと関係ないから手慣れてないので…
0366デフォルトの名無しさん
2014/05/19(月) 19:46:11.60ID:8OKT1u6CそのOSとマルチモニタ・マルチディスプレイでググレ
ノートPC + Windows とかだと、Fnキーのコンビネーションで プロジェクター接続 と称して
マルチモニタ対応してたりするが
0367デフォルトの名無しさん
2014/05/19(月) 19:50:11.83ID:RdUiR/FU特定のアプリケーションだけプロジェクターに映し出すって可能なんですか?
例えばメモ帳だけみたいな
0368デフォルトの名無しさん
2014/05/19(月) 19:50:49.94ID:BaAr9nqN0369デフォルトの名無しさん
2014/05/19(月) 22:08:42.20ID:mbE3Cq5f0370デフォルトの名無しさん
2014/05/20(火) 00:05:48.25ID:R0sc+CFe> ディスプレイはOSが入ってると思うけど
入ってません
0371デフォルトの名無しさん
2014/05/20(火) 00:17:31.12ID:Q2AhpEnY流石にそれを言い切るのは無理があると思うけど・・・
http://special.nikkeibp.co.jp/ts/article/a00g/105808/
http://h50146.www5.hp.com/directplus/personal/promotions/desktops/lineup/pri_02.html
http://www.dell.com/jp/p/desktops#!dlpgid=all-in-one-desktops
この手のを2台持ってるとかならありうる
0372デフォルトの名無しさん
2014/05/20(火) 00:24:52.13ID:zlaxDiQaたぶん「外部出力」すらよくわかっていないんだろうな……
0373デフォルトの名無しさん
2014/05/20(火) 00:41:43.72ID:ROp5ZExOどうみても (ディスプレイ一体型の) パソコンだろ
0374デフォルトの名無しさん
2014/05/20(火) 00:45:33.61ID:2Er/qV0gイメージしてる物とは違うだろうけど。
0375デフォルトの名無しさん
2014/05/20(火) 01:25:33.85ID:XQmbVY7L0376デフォルトの名無しさん
2014/05/20(火) 04:59:23.60ID:Ncw8CVoLうーん
OSやhardのことそこまで知らずにC言語って
うーん
凄い場違い感
LOGOでタートルしてたら?
(Cをなにに使うんだろう)
0377デフォルトの名無しさん
2014/05/20(火) 13:32:30.91ID:fbMM1sIr0378デフォルトの名無しさん
2014/05/20(火) 22:44:47.06ID:Q2AhpEnY0379デフォルトの名無しさん
2014/05/21(水) 21:46:32.79ID:7ghH1huH#include <stdio.h>
int main(void)
{
int box[9];
int i=0,max=0;
printf("please input number\n");
while(i < 8)
{
printf("input:%d:",i+1);
scanf("%d",&box[i]);
i++;
max += box[i];
}
printf("max = %d\n",max);
return 0;
}
0380デフォルトの名無しさん
2014/05/21(水) 21:51:01.61ID:x7NyX0pHループのところ、while文の代わりにfor文を使ってみよう
0381デフォルトの名無しさん
2014/05/21(水) 21:54:25.42ID:AVBbOV7Qインクリメントの位置がおかしいから
0382デフォルトの名無しさん
2014/05/21(水) 21:54:47.54ID:7ghH1huHなぜかわからない
0383デフォルトの名無しさん
2014/05/21(水) 21:55:30.78ID:GgA/fGkQ・「i++;」と「max += box[i];」の位置が逆。
そりゃ未定義のとこ足したらおかしくなりますわ
・そもそも「合計」はmaxじゃなくてsumとかだろフツー
・と言うかこの場合繰り返しにはwhileじゃなくてfor使えば良くね?
・だいたいループして一回一回足すんならbox[]は不要
・そしてこのコードだとwhileの中が8回しか実行されないわけだがそれでいいのか?
(配列が9個あるのに8個までしか代入できていない)
0384デフォルトの名無しさん
2014/05/21(水) 21:56:37.36ID:iCWid1WRint box[9]
while (i<8)
になってるけど、whileの条件は適当?
0385デフォルトの名無しさん
2014/05/21(水) 21:57:06.26ID:7ghH1huHありがとう御座います。
0386デフォルトの名無しさん
2014/05/21(水) 21:59:32.79ID:7ghH1huH383さんありがとう御座います。
0387デフォルトの名無しさん
2014/05/21(水) 22:32:46.34ID:zPiEeEEi0388デフォルトの名無しさん
2014/05/21(水) 22:43:09.06ID:uclrUxKL0389デフォルトの名無しさん
2014/05/21(水) 22:54:23.20ID:zPiEeEEiint main(void)
{
int n1,n2,sum=0;
puts("二つの整数を入力してください。");
printf("整数A:"); scanf("%d",&n1);
printf("整数B:"); scanf("%d",&n2);
if (n1<n2) printf("%d以上%d以下の全整数の和は",n1,n2);
else printf("%d以上%d以下の全整数の和は",n2,n1);
if (n1<n2)
do
{
sum+=n1;
n1++;
} while (n1>n2);
else
do
{
sum+=n2;
n2++;
} while (n2<n1);
printf("%dです。\n",sum);
return (0);
}
これなんですが
0390デフォルトの名無しさん
2014/05/21(水) 22:56:56.91ID:AVBbOV7Qif文じゃなくwhileのとこの条件を間違ってるだけだよ
上のと下の同じになってる
0391デフォルトの名無しさん
2014/05/21(水) 23:06:28.39ID:zPiEeEEi解決しました!ありがとうございます!
0392デフォルトの名無しさん
2014/05/22(木) 23:16:19.74ID:Pj2Kcb1Gファイル�Aで宣言したグローバル変数B
ファイル�Bで #define A B とした場合
ファイル�B内では変数A変数Bどちらもexternでの宣言が必要ですか?
なんかよくわからんくなってきた
0393デフォルトの名無しさん
2014/05/22(木) 23:17:27.98ID:2g4glAhM実際に試してみたか?
0394デフォルトの名無しさん
2014/05/22(木) 23:20:21.70ID:Pj2Kcb1Gファイル�@で宣言したグローバル変数A
ファイル�Aで #define B A とした場合
ファイル�A内では変数Aのextern宣言が必要か?
でした
0395デフォルトの名無しさん
2014/05/22(木) 23:29:21.89ID:MCSdHCQLって、単にテキスト上のBと書いてある箇所をコンパイル前にAと置き換えてるだけ
だからextern Bはいらない
extern Aだけでいい
#includeも#defineも単にコンパイル前に文字列を置き換えてるだけ
何か高度なことやってるわけでもなんでもない
0397デフォルトの名無しさん
2014/05/24(土) 07:35:31.97ID:jYoMAPG8いわゆる仮定義というやつだ
0398デフォルトの名無しさん
2014/05/24(土) 11:17:49.87ID:YIPAx1900399デフォルトの名無しさん
2014/05/24(土) 11:19:32.52ID:YIPAx1900400デフォルトの名無しさん
2014/05/24(土) 11:22:09.39ID:YIPAx1900401デフォルトの名無しさん
2014/05/24(土) 11:45:40.13ID:oAEIG7cFif(a == 1 && b == 1 && c == 1)
{
x = 1;
}
else
{
x= 0;
}
と、
if(a == 1)
{
if(b == 1)
{
if(c == 1)
{
x = 1;
}
}
}
else
{
x = 0;
}
では処理は同じだと思いますが、どちらが素敵ですか?
0402デフォルトの名無しさん
2014/05/24(土) 12:30:38.58ID:VMgZVPvZ0403デフォルトの名無しさん
2014/05/24(土) 13:44:51.23ID:47+sObPK0404デフォルトの名無しさん
2014/05/24(土) 14:18:30.03ID:23YTvX7U>if(a == 1 && b == 1 && c == 1)
じゃなくて
if(1 == a && 1 == b && 1 == c)
と、左オペランドには極力、代入不可能なものを置くクセを
今のうちに付けておくことを勧める
こんなミスを防止出来るから
if( a = 1 ){ // a == 1 のつもり
なお、素敵なのは俺も前者
0405デフォルトの名無しさん
2014/05/24(土) 14:18:39.53ID:QHw690bV0406デフォルトの名無しさん
2014/05/24(土) 14:25:42.34ID:Gl+D6mpu0407デフォルトの名無しさん
2014/05/24(土) 14:35:06.44ID:kdyeTW/9それはfj時代から忌み嫌われていた記述法
現代には無意味
0408デフォルトの名無しさん
2014/05/24(土) 15:04:42.65ID:t6SgnRXz現場によってはコーディング規約が〜とかいって書き直しもあるかも
0409デフォルトの名無しさん
2014/05/24(土) 15:15:25.02ID:23YTvX7ULinuxのカーネルで if( bEnableRoot = 1 ... )っぽいコードで
行うトロイが昔なかったか?
コンパイラが指摘するコンパイルミスの場所が「完全」に正確ではないのを思えば
コンパイラに全幅の信頼を置くC/C++プログラマーはどうかと思うが。
0410デフォルトの名無しさん
2014/05/24(土) 15:22:59.55ID:47+sObPK0411デフォルトの名無しさん
2014/05/24(土) 15:24:21.19ID:t6SgnRXz全文見えないから無視していたが
同じじゃない
0412デフォルトの名無しさん
2014/05/24(土) 15:30:37.69ID:kHQIp9PW0413デフォルトの名無しさん
2014/05/24(土) 15:44:11.88ID:P2bp3FVu> では処理は同じだと思いますが、どちらが素敵ですか?
違うよ。バカ
> ご教授願います!
どこの馬の骨かわからんクズを弟子するマヌケは世界中で>>402-402,>>405-410の6匹だけ
「教授」の意味を調べてから出直せ
0414デフォルトの名無しさん
2014/05/24(土) 15:47:18.19ID:0C1DrH8Yyes
x && y の意味は if x then y else false で
x || y の意味は if x then true else y になる
言い換えると、これらは純粋な論理演算子ではなく、
条件分岐を演算子で表現した構文糖(syntax sugar)である
したがって x && y は以下の意味と同じであり、
if x then
if y then
true
else
false
else
false
条件式 x が偽であれば条件式 y は評価されない
他の言語、たとえばRubyにも同様な演算子 || や && があるし、
それほど珍しい構文でもない
0415デフォルトの名無しさん
2014/05/24(土) 15:50:34.78ID:hNw+IwYI0416デフォルトの名無しさん
2014/05/24(土) 16:00:26.89ID:kdyeTW/9一定の説得力はある
が私はそうは書かない、多分量が少なくてそういうミスで手ひどい思いをしたことがないだけなのかもしれない
0417401
2014/05/24(土) 16:04:08.92ID:oAEIG7cFもう一つだけいいですか?
int a,b,c;
floart x;
という変数があるとします
x = (float)a + (float)b + (float)c;
と、
x = (float)(a + b + c);
では同じ処理になりますか?
よろしくお願いします。
0418デフォルトの名無しさん
2014/05/24(土) 16:14:50.92ID:6HD9LOix0419デフォルトの名無しさん
2014/05/24(土) 16:18:56.76ID:kdyeTW/9同じにならない処理系があったら知りたいぐらいだが
まあ、それはさておき、float は「float を使うそれなりの理由がない限り」やめておいたほうがいい、ここは double で。
0420デフォルトの名無しさん
2014/05/24(土) 16:51:12.28ID:Xq6pP+IW0421401
2014/05/24(土) 16:55:31.68ID:oAEIG7cFすみません
>>419
ありがとうございます
しつこくてすみません
floatよりdoubleを優先する理由を教えて頂けますか?
0422デフォルトの名無しさん
2014/05/24(土) 17:26:44.70ID:kdyeTW/9printf()
0423デフォルトの名無しさん
2014/05/24(土) 17:29:50.60ID:Cq+cm/k7精密な精度が欲しければ何らかのライブラリ、
通常の用途にはdouble、グラフィックスとかならfloatが基準になるかと
0424デフォルトの名無しさん
2014/05/24(土) 17:31:40.52ID:0m0yQ+Qd俺も聞いてみたい。floatよりdoubleっていう根拠は?
0425デフォルトの名無しさん
2014/05/24(土) 17:35:35.96ID:imaRiqLQいまどきのCPUは、doubleでもfloatでも同クロックで演算できるので
あえて精度が低いfloatを使う必要は、普通は無い
>>422
printfの暗黙の型変換は、doubleを使う理由にならないのでは?
0426デフォルトの名無しさん
2014/05/24(土) 17:40:00.17ID:kdyeTW/9printf() というか不定長引数の場合の double 格上げ、というお約束自体が、当時の時点では float の演算速度と double の演算速度が変わらない現実を反映しているような気がして
もっとも float の方が確実に速い、あるいは float しかない、という場合がある(そうな)ので、それはそういう理由で float を使うのだろうね、やったことはないけれども
0427デフォルトの名無しさん
2014/05/24(土) 17:40:01.23ID:lzaOmnko必要精度を無視してメモリーも時間も使い放題だな
必要精度をはじきだせず、こまい計算しかしないならいいんじゃね?いつもダブルで
やだー、ダブルー、えっちー
トリプルにしたいなぁ、聖子ぉ!
0428デフォルトの名無しさん
2014/05/24(土) 17:48:07.05ID:MviBHeCjお前はこのスレでレスする必要が無い。お前の存在は不要だ。
0429デフォルトの名無しさん
2014/05/24(土) 17:53:53.40ID:imaRiqLQ自分も格上げする理由は分からない。
格上げすれば、cal.ee側はdoubleだけ考えればいいので単純になるから、かなあ
複数のfloat値をまとめて演算するSIMD命令がある(CPUもある)ので、
演算の観点でもfloatが全く不要ではないね。あと、もちろんメモリ上のサイズが違うので
配列で大量のデータを持つときとかはfloatにする意味がある
0430デフォルトの名無しさん
2014/05/24(土) 18:43:52.61ID:trY52c2mdoubleとfloatも同じような関係だ。
>>425
printf()に限らず、暗黙の昇格があるからというのは理由になるのでは?
>>423
グラフィックスだからと言ってfloatを基準にする理由にはならないのでは?
たまたま低精度のライブラリを使うからと言うのは理由になるだろうが。
>>419
>417の前者と後者が同じ結果になるかどうかは兎も角同じ処理になる阿呆な処理系はないと思うぞ。
実際、>420が指摘しているが違う結果になることさえあるのだから。
>>404
両辺が代入可能な場合にエラーに頼る>404流は全く役に立たない。
そうであるならば、警告に頼る>406流にやや分があるんじゃないかな。
いずれにしても、読み易さを考えれば>404流は何十年も前にダメを出されているよ。
0431デフォルトの名無しさん
2014/05/24(土) 18:56:17.02ID:Ag0dohUQおお、頭良さそうやのう
感心したで
マジやで
コラコラ、そこの見学者、感じたわけやないで
あ、こら乳首さわるな、感じるやないけ
0432デフォルトの名無しさん
2014/05/24(土) 19:05:47.35ID:BoH7rvjbこの場合例えばintの部分をunsignedにするとかunsigned charにするのってただの自己満足?
(メモリはケチれるけど遅い、みたいなことがあったりするのか?)
0433デフォルトの名無しさん
2014/05/24(土) 19:11:52.98ID:5k74nlaXintとfloatって同じ32bitなら桁落ちがあるからfloatにするタイミングで結果が違ったりするなじゃないの?
0434デフォルトの名無しさん
2014/05/24(土) 19:12:11.71ID:STwDwgyi相当貧弱(8bitマイコンとか)でもない限り自己満足の世界だと思う。
必要に迫られない限り、intでいいと思う。
0435デフォルトの名無しさん
2014/05/24(土) 19:18:14.39ID:rb+gQeLMfor (i=9; i>=0; --i)
ってやるには、intしかダメ
0436デフォルトの名無しさん
2014/05/24(土) 19:27:48.30ID:BoH7rvjb目一杯速くしたいんだが、小さなループなら手動で展開した方が速いかな?
0437デフォルトの名無しさん
2014/05/24(土) 19:34:55.39ID:STwDwgyi環境によるとしか言えないかな。
基本的にその手の最適化は、実測しか確認方法が無いんだよ。
cpuやキャッシュメモリとかにもよるし、ループ内の処理やメモリアクセスの仕方とかにも相当影響を受けるからね。
0438デフォルトの名無しさん
2014/05/24(土) 19:39:13.69ID:u1TcTJvP0439デフォルトの名無しさん
2014/05/24(土) 19:40:23.26ID:5k74nlaX0440デフォルトの名無しさん
2014/05/24(土) 19:50:03.82ID:Pr/J08VU今時 register って...
0441デフォルトの名無しさん
2014/05/24(土) 20:00:06.46ID:DxUSuDcC環境とコンパイラによるな。
マイコンの話だけど良い開発環境では中間生成物のアセンブラが見れるからそこで見たらわかるんじゃね?
だいたいその場でしか使われないローカル変数はメモリ領域に場所とらずに、
レジスタ内で処理するようにコンパイラで最適化されるんじゃないかな。
0442デフォルトの名無しさん
2014/05/24(土) 20:23:43.17ID:rb+gQeLM余程でなければどのコンパイラでも出力できるでしょ
それなりに慣れてないと何書いてるかさっぱりだと思うが
0443デフォルトの名無しさん
2014/05/24(土) 20:35:03.91ID:dLm6fu0Hfor(auto i = 0; i < 10; ++i)
0444デフォルトの名無しさん
2014/05/24(土) 20:46:11.10ID:BoH7rvjbそれ自動的にintとかにならない? 小さい数字だと自動でuint8_tみたいになったりするの?
0445デフォルトの名無しさん
2014/05/24(土) 20:54:17.55ID:trY52c2mfloatの方が精度が低いから、例えば2^31-1から1を引く処理をfloatでやろうとすると結果が得られない。
逆に、int(32bit)の方が値域が狭いから、2^31-1に1を足すとオーバーフローしてしまう。
>>435
int以外でもshortでもsigned charでもいいのでは?w
>>436
賢いコンパイラを使うのが一番。ループのアンロールも行なってくれるし、
レジスタが豊富なCPUなら並列演算を行なうようにしてくれる。
0446デフォルトの名無しさん
2014/05/24(土) 20:55:17.07ID:trY52c2mそもそも何を期待しているんだ?
C++のautoと違って、Cのautoは只の自動変数であることの宣言だぞ。
0447デフォルトの名無しさん
2014/05/24(土) 21:54:09.13ID:CbUGe6dU>何かの理由で
unsigned だと i>=0 は常に真だからだろw
0448デフォルトの名無しさん
2014/05/25(日) 00:02:47.33ID:VzWpVfvF>>408 >>421 >>425 >>427 >>430 >>436 >>441 >>443
0449デフォルトの名無しさん
2014/05/25(日) 00:13:44.61ID:HKoUIF2h私のレスも含まれているけど、何を抽出したの?
0450デフォルトの名無しさん
2014/05/25(日) 00:16:58.48ID:Y097JzWz自演だとでも? (ヾノ・∀・`)ナイナイ
0451デフォルトの名無しさん
2014/05/25(日) 02:54:35.27ID:FAQcyghXお前、精神病だろ
でも、自演認定するやつは大概、どれとどれが自演なんだと改めて聞くと、まず答えないんだが自分から列挙するとは
そこが珍しい。
それとも自演認定以外の列挙か?と一応書いておこう。
0452デフォルトの名無しさん
2014/05/25(日) 04:44:37.63ID:mQ7FRJ950453デフォルトの名無しさん
2014/05/25(日) 08:57:09.35ID:sHbcQ04K普通にゲーム作れちゃうじゃん
0454デフォルトの名無しさん
2014/05/25(日) 09:33:36.41ID:wdt8VpUX0455デフォルトの名無しさん
2014/05/25(日) 09:45:26.69ID:sHbcQ04K0456デフォルトの名無しさん
2014/05/25(日) 10:11:52.12ID:FiG/MmOi作れるけど
VisualC/C++と比べ処理速度が犠牲になる可能性有
0457デフォルトの名無しさん
2014/05/25(日) 11:32:39.13ID:NeNyrW9Aここ使うと一発だよ http://hissi.org/read.php/tech/20140525/VnpXcFZmdkY.html
0458デフォルトの名無しさん
2014/05/25(日) 11:34:20.05ID:NeNyrW9Awin32apiを直接呼び出すのにどうして処理速度が犠牲になるの?根拠はなに?
0459デフォルトの名無しさん
2014/05/25(日) 14:58:17.23ID:orLdyf4Y最適化されない
cygwinであればcygwin1.dll経由になるのも原因
mingwならその心配もないようだが
0460デフォルトの名無しさん
2014/05/25(日) 15:16:40.65ID:SjhZACZkcygwin1.dllはWindowsにないシステムコールやライブラリ関数を
実現するためのもので、win32api使うには必要ない
0461デフォルトの名無しさん
2014/05/25(日) 16:01:14.85ID:NeNyrW9Awin32api コールにどんな最適化があるというの?お前さん、最適化という言葉でごまかしていない?
あと、cygwin1.dll は POSIX のエミュレーションであり、 win32api をコールするのに必要ないためそもそも経由しない
とか書こうとおもったら、-mno-cygwin オプションは gcc3 で打ち止め、gcc4 から win32api を使用するなら
最初から mingw を入れろということのようだね
0462片山博文MZ悪魔崇拝 ◆T6xkBnTXz7B0
2014/05/25(日) 17:10:45.16ID:kKmqkkdK仮想ファイル入出力
https://github.com/katahiromz/MZC3_fopen
0463デフォルトの名無しさん
2014/05/25(日) 20:19:50.17ID:sHbcQ04Kとコンパイルするとcygwin1.dllなしで実行できるぽいね
0464デフォルトの名無しさん
2014/05/26(月) 09:18:16.86ID:wIhx+xqe0465デフォルトの名無しさん
2014/05/26(月) 22:20:08.04ID:YyXvpck3異常に遅いんだけど、編集する感覚で0.1秒くらいでファイル新規保存
するようなソフト作るのって無理ですか?Cでです。
0466デフォルトの名無しさん
2014/05/26(月) 22:32:44.29ID:Pt2kiZ/o日本語でおk
0467デフォルトの名無しさん
2014/05/26(月) 22:39:59.04ID:UcuPRHnzつまりブートロードで起動させて使うソフトを作ればいいんですよ
全ての資源をエディタのみで使えるので爆速に間違いないですよ
昔はフロッピーディスクで起動するソフトウェアなどもありましたし
0468デフォルトの名無しさん
2014/05/26(月) 22:41:59.57ID:Pt2kiZ/oそのファイルエディタはOSが無いと動かないんですがそれは
0469デフォルトの名無しさん
2014/05/26(月) 23:06:22.99ID:yHJImmyiエスパー3級の俺の見立てでは
ファイルダイアログを開くのが遅いといっている気がする
シェルに干渉するソフトを無駄にたくさんインストールしているのではないか
ちなみに >>467 は3級程度では太刀打ち出来ない
0470デフォルトの名無しさん
2014/05/26(月) 23:07:08.00ID:ARSniqSI0471デフォルトの名無しさん
2014/05/26(月) 23:24:54.13ID:YyXvpck3何でダイアログ開くのに3秒以上かかるんでしょう…
ガジェットみたくスライドして出てくるみたいな感じは無理なんですか?
0472デフォルトの名無しさん
2014/05/26(月) 23:43:48.38ID:n89vznUS0473デフォルトの名無しさん
2014/05/26(月) 23:46:09.62ID:NauQXfeu0474デフォルトの名無しさん
2014/05/26(月) 23:50:58.58ID:UcuPRHnz0475デフォルトの名無しさん
2014/05/26(月) 23:51:31.48ID:UcuPRHnzwin7を使ってるがファイルの保存のダイアログが開くが数秒かかるほど遅いのはアプリの起動単位で初回だけ
0476デフォルトの名無しさん
2014/05/26(月) 23:56:33.88ID:NauQXfeuそのDLL読み込んで、ドライブやフォルダ情報読み込むのに数秒かかるんじゃね?
で、2回目からはある程度キャッシュに溜まってるから読み込み処理すっ飛ばすから速くなると。
0477デフォルトの名無しさん
2014/05/26(月) 23:58:39.32ID:UcuPRHnz0478デフォルトの名無しさん
2014/05/27(火) 00:01:27.18ID:0v3dLyrT0479デフォルトの名無しさん
2014/05/27(火) 01:19:56.01ID:2wmi7VyA明らかにそれ以外の無駄な処理が走っている
バージョンが上がる毎に無駄な機能が増えていくケース
0480デフォルトの名無しさん
2014/05/27(火) 07:45:05.77ID:25AWZBJ0だが、しかし、待って欲しい。
>>465さんは、どのOSでなんというエディタを使った場合なのかを一切明らかにしていない!!
この状況において、
>コモンダイアログの保存ダイアログを開いてるはずだから
というのは、あまりにも判断が時期尚早との批判も免れ得ないのではないか?と言われても致し方あるまいのでは?
0481デフォルトの名無しさん
2014/05/27(火) 08:50:01.93ID:B1TDBu022回目以降が速くて1回目が本来の速度なのだ。
0482デフォルトの名無しさん
2014/05/27(火) 08:54:53.51ID:P0Ar98lF2回目以降はキャッシュから情報取得するから速かったと。
1回目から速くしたいならドライブ情報取得しないダイアログを自作してみたら?
0483デフォルトの名無しさん
2014/05/27(火) 09:22:23.31ID:WSMaSjRo0484デフォルトの名無しさん
2014/05/27(火) 13:55:00.41ID:2wmi7VyA詳細情報やらアイコンやらを表示しているケースだろう
zipとか動画とかサーバーと同期させるツールとか
実際にその現象にぶち当たったことがなければ
的はずれな答えしか出てこない
0485デフォルトの名無しさん
2014/05/27(火) 14:25:58.24ID:wfBaHMaPUSBメモリですら4本もってますが4本とも3年以上持ってます。
C言語の話と関係ないですがSSDとかのはなしもあるし聞いておきたいです。
どうなんでしょう?
家のパソコンですが
8万で買ったエヌイーシーのデスクトップ 毎日6時間使い続けて
未だにHDD壊れず、8年経過
4万で買ったノート、4年使い続けて動作鈍くなったと感じるけど
リカバリーで常にスピード安定、HDD壊れず
どうなんでしょう?
0486デフォルトの名無しさん
2014/05/27(火) 14:52:29.64ID:gGML8YGy0487デフォルトの名無しさん
2014/05/27(火) 15:55:55.12ID:P0Ar98lF0488デフォルトの名無しさん
2014/05/27(火) 16:18:25.37ID:MC9K/1O60489デフォルトの名無しさん
2014/05/27(火) 16:26:48.39ID:6eXUGxGD0490デフォルトの名無しさん
2014/05/27(火) 20:31:49.05ID:5raxgz7B↑こういったプログラムを書きました
しかし作ってみたものの、自分が書いた部分がどういった動作をしているのかわかりません
44行目から85行目までどういった動作をしているのか教えてくれませんか?
0491デフォルトの名無しさん
2014/05/27(火) 20:41:59.22ID:gGML8YGy0492デフォルトの名無しさん
2014/05/27(火) 21:17:15.83ID:X03+53LE0493デフォルトの名無しさん
2014/05/27(火) 21:25:40.17ID:pZIBd1udだいたい読んでみた。
教えなくはないが、本当に自分で書いたか証明するために、
何を目的にどの変数を何の目的で使ってるか説明してみろ。
0494デフォルトの名無しさん
2014/05/27(火) 21:39:40.18ID:5raxgz7B>>492
>>493
すいませんスレチのようでした
プログラムの内容はコメントの通りです
中身の輝度値と中央値は色々模索した結果で自分でもよくわからないのです
だから聞こうと思ったんであります
0495デフォルトの名無しさん
2014/05/27(火) 21:52:47.98ID:ZPl6eSmM画像処理 その14
http://peace.2ch.net/test/read.cgi/tech/1370170263/
0496デフォルトの名無しさん
2014/05/27(火) 21:52:55.34ID:X03+53LEコピペは自分が書いたとは言わない
0497デフォルトの名無しさん
2014/05/27(火) 21:55:54.04ID:Qn21fMMC>>また若いうちは、a=0;b=1;・・・z=26;と体力でやっていたが
>これを解消するには
>struct{
>int a;
>int b;
>・
>・
>}alph;
>とやってからアドレスを取得
>int *p = &alph.a;
>for(i = 0; i < 27; i++){
>*(p+i) = i;
>}
>一個一個イコールでいれる場合(a=0;b=1;・・・z=26;)と比べ、
>宣言の書き換えがいり、コードを書くエネルギーはいるだろうが、
>間違いが少なくなる
プロはこうやるそうですが、これで破綻しないのはなぜですか?
0498デフォルトの名無しさん
2014/05/27(火) 22:01:48.91ID:iIiy8yYJ自分でもよく分からんって、それプログラムとして意味あるんですかね……
最頻出と中央値の処理は「コードを読め」としか言いようがないなw
どうでもいいけど画像のピクセル数程度の大きさの配列をバブルソートしたくないでござる
bmpファイルって細かな形式があるけど、コードを読む限りだと8bitに決め打ち?
色々言いたいことはあるが、せめて「256」とかのマジックナンバーは無くそうぜ……
0499デフォルトの名無しさん
2014/05/27(火) 22:03:27.15ID:iIiy8yYJとりあえず一文字変数を大量に宣言して知らん顔する奴は屑だと思う
お前はそれで本当にいいと思っていたのかと小一時間問い詰めたい
0500デフォルトの名無しさん
2014/05/27(火) 22:06:41.51ID:4A6pA954残業になっちゃうじゃないか無意味に長い変数名なんて…
0501デフォルトの名無しさん
2014/05/27(火) 22:08:25.24ID:pZIBd1ud0502デフォルトの名無しさん
2014/05/27(火) 22:13:26.81ID:4A6pA954思うけどデフォルトがどうなってるかはチェックしておくべきだろうね。
0503デフォルトの名無しさん
2014/05/27(火) 23:47:10.54ID:wpX2Wr2x変更したりしたら、過去のオブジェクトファイルとかライブラリと互換性まったくなくなるじゃん
0504デフォルトの名無しさん
2014/05/27(火) 23:53:58.25ID:ctAn0FuGのではなく
コンパイラへのコンパイル作業時のオプションでの制御か
0505デフォルトの名無しさん
2014/05/27(火) 23:59:19.51ID:ZPl6eSmM0506デフォルトの名無しさん
2014/05/27(火) 23:59:54.62ID:UOcw9mK1sizeof int = 2,4,8
alignment = 1,2,4,8,16
なので常識的に考えて詰め物が必要になるケースはないよね
0507デフォルトの名無しさん
2014/05/28(水) 00:02:14.23ID:agGj7SX9どこまでCの範囲にするかは微妙だけど
0508デフォルトの名無しさん
2014/05/28(水) 00:32:14.16ID:0PQQT2ntfread(&x, sizeof &x, 1, fp);
昔は、こういう構造体を丸ごとリード、ライトするような書き方が横行してたな。
今でもかもしれんけど。
0509デフォルトの名無しさん
2014/05/28(水) 01:15:14.25ID:mf7CxjoQとりあえず、ここまで作りました ttp://ideone.com/9qtVWS
上記コードの int isIrreducible(int poly,int m) で既約かどうかを判定しています。
明らかに既約でない場合(polyが偶数の場合)は除外していますが、それ以外の場合が分かりません…
どなたか、助けて下さい……
0510デフォルトの名無しさん
2014/05/28(水) 07:09:59.24ID:mf7CxjoQ0511デフォルトの名無しさん
2014/05/28(水) 19:11:32.08ID:TWIuAILvjavaでは関数ではなくてメソッドですが…
Cも標準関数を組み合わせる事でドラッグ(物体を移動)の機能を持たせる関数を
作る事が出来るのでしょうか?凄い疑問に思っていたので質問しました。
0512デフォルトの名無しさん
2014/05/28(水) 19:12:52.37ID:PzuNoYjz0513デフォルトの名無しさん
2014/05/28(水) 19:19:32.93ID:TWIuAILv本当でしょうか?どうやるのでしょう?
0514デフォルトの名無しさん
2014/05/28(水) 19:20:09.67ID:PzuNoYjz0515デフォルトの名無しさん
2014/05/28(水) 19:30:58.10ID:C/wNImYi0516デフォルトの名無しさん
2014/05/28(水) 19:37:35.03ID:WWWYZeLA0517デフォルトの名無しさん
2014/05/28(水) 19:40:39.84ID:PzuNoYjz0518デフォルトの名無しさん
2014/05/28(水) 19:42:31.23ID:WWWYZeLAdouble position_x;
double position_y;
double position_z;
} Oppai;
void idou(Oppai *oppai, double x, double y, double z) {
oppai->position_x += x;
oppai->position_y += y;
oppai->position_z += z;
}
0519デフォルトの名無しさん
2014/05/28(水) 19:53:41.23ID:mspF09G9そもそもCの"標準関数"には画面描画もマウス操作も含まれない
WindowsなりXなりプラットフォームの機能を使わないとダメ
0520デフォルトの名無しさん
2014/05/28(水) 20:05:38.22ID:uT/cI3NV端末にprintfで文字表示はwindowの機能じゃないんでしょうか?
0521デフォルトの名無しさん
2014/05/28(水) 20:10:22.22ID:uT/cI3NVC言語例えばcygwinだと、OSは全く関係ないんですか?
OSにcygwinをインストールしてるからprintfはOSの機能では?
正確に言うと、C言語の定義をもったOSの機能?
0522デフォルトの名無しさん
2014/05/28(水) 20:11:34.04ID:BR1TkgwoOSの機能を使って実装されてる
0523デフォルトの名無しさん
2014/05/28(水) 20:13:50.70ID:BR1Tkgwohttp://msdn.microsoft.com/ja-jp/library/windows/desktop/ms682073%28v=vs.85%29.aspx
0524デフォルトの名無しさん
2014/05/28(水) 20:17:15.79ID:uT/cI3NV分かりやすい、
つまりprintf()も
windowabc()
windoudef()
................
とwindowsの関数に置き換わるってことですね?
で分からないのはDirectXがOSを介さないのは何故ですか?
Directx のdirection()関数があるとしたら、こう作れという規格に
基づいてOSの機能を使って実装されるのでは?
0525デフォルトの名無しさん
2014/05/28(水) 20:20:05.47ID:BR1TkgwoDirectXを使って実装してるコンパイラもあるかもしれんし
そんなもん出回ってるCコンパイラ作ってる開発者ら本人に聞け
0526デフォルトの名無しさん
2014/05/28(水) 20:23:01.28ID:BR1Tkgwo0527デフォルトの名無しさん
2014/05/28(水) 20:23:34.00ID:BR1Tkgwo0528デフォルトの名無しさん
2014/05/28(水) 20:24:26.65ID:uT/cI3NVいやDirectX OSの機能を介さないって意味が分からなくて…
OS上で動くプログラムは全てOSの機能を使うってことになるので
OSの機能を使わない事なんてあるのかなと…
何の機能使ってるんだろうか…
0529デフォルトの名無しさん
2014/05/28(水) 20:25:42.36ID:uT/cI3NV同じ質問を過去にしましたが、分かりません
0530デフォルトの名無しさん
2014/05/28(水) 20:28:01.28ID:uT/cI3NVそりゃそうですよね
0531デフォルトの名無しさん
2014/05/28(水) 20:30:54.77ID:AwYxqhpy0532デフォルトの名無しさん
2014/05/28(水) 20:32:22.75ID:uT/cI3NVapiを使わない場合どうやってコードを実行できるのですか?
純粋な疑問です、というかいつまでたっても理解できない。
0533デフォルトの名無しさん
2014/05/28(水) 20:39:42.64ID:xq+pfC01APIを使わずにサービスと同等の処理をするのは現実的に
難しいだろうな。
0534デフォルトの名無しさん
2014/05/28(水) 20:43:08.22ID:cL3suHWh知ったか乙
0535デフォルトの名無しさん
2014/05/28(水) 20:46:38.81ID:r6RWITw2DirectXもOSご提供の関数だよ。
OSの関数って言うのが何の事を言っているのかは良くわからないけど、別にWin32apiだけがOSの関数ってわけじゃないし。
特定条件下で特定用途に特化させたapiの一つがDirectXね。
0536デフォルトの名無しさん
2014/05/28(水) 20:55:15.61ID:uT/cI3NVOS提供って、windows提供ってことですか?
0537デフォルトの名無しさん
2014/05/28(水) 20:55:58.89ID:uT/cI3NV↑
???
windowsが提供する関数ってwin32apiだけじゃないんですか?
0538デフォルトの名無しさん
2014/05/28(水) 20:56:52.09ID:Fg+maZpDDirectXはよくわからんけど、マルチタスクの場合、独占使用権の管理はOSに任せないといかんわな。
直接描画するのは好き勝手にしてもかまわないけど。
0539デフォルトの名無しさん
2014/05/28(水) 20:57:50.51ID:r6RWITw2そだよ。
って言うか、windowsでしか提供されない。
0540デフォルトの名無しさん
2014/05/28(水) 21:00:11.58ID:jszffFGk0541デフォルトの名無しさん
2014/05/28(水) 21:08:44.29ID:r6RWITw2えっと、win32apiってのは、windowsであれば、ほぼ必ず使える基本的な機能の関数群の総称ね。
それに対して、DirectXってのは動作環境に条件が着くの。
その条件さえ満たせば、(汎用の)win32apiより高速に動作するとかね。
想定する使い方が違うだけで、どちらもwindowsというOSが提供してくれる機能だよ。
0542デフォルトの名無しさん
2014/05/28(水) 21:09:02.01ID:uT/cI3NVえ??macやunixは?
>>540
なるほど
標準スタンバイがwindows、directxもOS化するってことですね
何か凄い理解した気がする
0543デフォルトの名無しさん
2014/05/28(水) 21:11:06.96ID:jgJmJNUO0544デフォルトの名無しさん
2014/05/28(水) 21:15:03.72ID:uT/cI3NVなるほどー、DirectXはコードがそのままwindowコードに変換されず
windowsが直接処理できるってことなな?
例えばjavaのsystem.println()関数は、
windowコードもしくはdirectxコードに変換するってことですよね?
ただ疑問なんですが、macやunixもwindowコードみたいに、osで直接
処理できるコードはないんですか?
macもunixもOSですよね?
windowしか提供しないってことは
macのコードもwindowコードなんですか?
0545デフォルトの名無しさん
2014/05/28(水) 21:23:17.59ID:WWWYZeLAhttp://techon.nikkeibp.co.jp/article/HONSHI/20111028/199993/20111031_cs02.jpg
0546デフォルトの名無しさん
2014/05/28(水) 21:30:17.13ID:TCoF8qnI変な単語作るなよ。
0547デフォルトの名無しさん
2014/05/28(水) 21:31:13.86ID:r6RWITw2ちょっと勘違いと言うか、ソフトウェア一般に関する基礎知識が足りていないんじゃないかな?
コードの変換って何の事?
0548デフォルトの名無しさん
2014/05/28(水) 21:34:47.94ID:uT/cI3NVコードをコードに変換する事です。
cのコードがwindowsのコードに変わって、最後はデバイスドライバから
アセンブラから機械語に変わるんでしょう?間違ってるでしょうか?
>>546
すいません。
0549デフォルトの名無しさん
2014/05/28(水) 21:38:07.41ID:C/wNImYi0550デフォルトの名無しさん
2014/05/28(水) 21:39:14.45ID:wUyF4O7+0551デフォルトの名無しさん
2014/05/28(水) 21:42:42.95ID:uT/cI3NVOSはミドルウェアで書かれてるんじゃないですか?
イメージ
printf→windows()........→device()......→pop() push() add()→
2b4a6c.....→101010101010101100110100110101
こんな感じですが間違ってますか?
0552デフォルトの名無しさん
2014/05/28(水) 21:43:02.61ID:ABFwbD7mOSを書くためにCが造られたとも.... (それだけじゃないだろうけどね)
0553デフォルトの名無しさん
2014/05/28(水) 21:46:02.29ID:YEAQ3RMD0554デフォルトの名無しさん
2014/05/28(水) 21:47:12.28ID:WWWYZeLA0555デフォルトの名無しさん
2014/05/28(水) 21:47:20.36ID:PcnkzAVj0556デフォルトの名無しさん
2014/05/28(水) 21:48:27.71ID:uT/cI3NV昔のCはCの次がOSだったので、CとOSで協調しながらwindowsコードを
作ったんじゃないでしょうか?
つまり昔のCは間に何も挟まないC,今はOSを挟むCって事じゃないですか?
0557デフォルトの名無しさん
2014/05/28(水) 21:51:05.02ID:cE7yyxsVコンパイルしたら、拡張子が
.o
.obj
のファイルができる。
リンクしたら、拡張子が.exeのファイルができる。
もうコンパイラがなくてもこれをそのまま実行できる。
ふつうのテキストエディタでは、.exeを編集できない
0558デフォルトの名無しさん
2014/05/28(水) 21:52:47.09ID:2k7Pa4p20559デフォルトの名無しさん
2014/05/28(水) 21:53:58.65ID:C/wNImYi完全に違う
0560デフォルトの名無しさん
2014/05/28(水) 21:55:15.03ID:X+vVfPVsCなどのコンパイル言語も(対象ハードの)マシン語のオブジェクトファイルに変換します。
アプリケーションはコンパイルされたオブジェクトファイルと実行環境に合わせたライブラリをリンクさせて生成(exe化)されます。
OSが提供する機能はアプリケーション実行時にアプリケーションが呼び出します。
0561デフォルトの名無しさん
2014/05/28(水) 21:58:30.90ID:uT/cI3NVやっぱ分かりませんw
CはOSに変換されるけど、OSはCで作られたんですか?
混乱するww
OSは機械語を組み合わせて作ったんじゃないんですか?
0562デフォルトの名無しさん
2014/05/28(水) 21:59:47.88ID:jgJmJNUOはよ釣り宣言しとけ
0563デフォルトの名無しさん
2014/05/28(水) 22:01:53.10ID:X+vVfPVsこれが間違い。
Cはマシン語に変換されるだけでそれがOSになるかアプリケーションになるかは
その後の処理しだい。
0564デフォルトの名無しさん
2014/05/28(水) 22:02:43.75ID:uT/cI3NV釣りじゃないです、プログラミングはできますが
言語が内部でどうなってるか考えた事もないので…
文法本に内部の事ってあんまり書いてませんし
配列はスタックとか、動的配列はヒープとかその程度しか内部事情は知りません
0565デフォルトの名無しさん
2014/05/28(水) 22:03:06.15ID:C/wNImYiCを変換(コンパイル)すると機械語になる
OSも、おまえの書いた糞コードも機械語
あとはそれらの連携
0566デフォルトの名無しさん
2014/05/28(水) 22:05:34.18ID:uT/cI3NVprintf()関数はwindowsコードに変換されないんですか?
printf()という目的を達成するために何百種類ものwin32api関数が
生成されるんじゃないんですか?
0567デフォルトの名無しさん
2014/05/28(水) 22:10:19.11ID:ABFwbD7m0568デフォルトの名無しさん
2014/05/28(水) 22:10:56.15ID:MW8tevt3"関数を生成する"という変な概念を捨てろ。
printf()はライブラリに入っている関数で、
お前の糞コードにリンクされている。
お前の糞コードがprintf()を呼び出したら、
printf()はwindowsのサービスを(やや特殊な形式で)"呼び出す"。
windowsは既に存在しているプログラムで、
呼ばれたらそれに応じた仕事をする。
0569デフォルトの名無しさん
2014/05/28(水) 22:11:54.43ID:uT/cI3NV解釈の違いじゃないでしょうか?
windows関数が呼び出される=Cがそのコードになるっていう解釈なんですが
windowコードがCを機械語にするために仲介してることは間違いないんでしょう?
0570デフォルトの名無しさん
2014/05/28(水) 22:13:15.74ID:PcnkzAVjまず機械語(アセンブラ言語)と高級言語の違いは分かる?
今日日OSを全部アセンブラで書けるわけがない(現実的ではない)から、必要最低限を
除いた部分を高級言語(C言語等)で記述してコンパイル→リンク→実行ファイルとして使うわけ
毎度毎度決まりきった処理(画面描画など定型的なもの)を書くのは負担が大きすぎる
から、通常OSや他アプリによって提供されるライブラリやAPIを使ってアプリケーションを
開発する。コンパイルする際にアセンブラコードを吐いてからそれをテキストエディタ等で
読めば分かるけど、OSの機能とかをアセンブラ中で呼び出すことが度々あるのに気づくはず
さて、printf関数などは、C言語の仕様で決められた標準関数。「実装がどうあれ、
こういった機能を実現できるようにしてくださいよ」ってことで決められたものだ。で、
それを実現するためにWindowsならWin32APIとかそれより下のサービスとかを叩いて
機能を実現させてるわけ。「windowsコード」なんて謎の概念があるわけじゃないの。
全ての始まりは機械語(アセンブラ)。
0571デフォルトの名無しさん
2014/05/28(水) 22:14:26.89ID:uT/cI3NV(Cコード+windowコード)=ソフト←やり取り→(標準スタンバイされたwindowコード)=OS
こんな感じですか?間違ってます?
0572デフォルトの名無しさん
2014/05/28(水) 22:16:52.16ID:PcnkzAVj念の為にもう一度。C言語で書いたコードをコンパイラからコンパイルすると、
そのコードが直接機械語として翻訳される。で、その際にWindowsの機能を呼び出す
ための命令がちょくちょく挟まるけど、その「呼び出すための命令」も機械語。
どこから聞いたのか知らないが、「windowコード」なんて言葉は忘れることを強く勧める
0573デフォルトの名無しさん
2014/05/28(水) 22:19:52.06ID:uT/cI3NV機械語はハードのNANDの1と0のスイッチの切り替えの組み合わせですか?
「printfは実装がどうであれ、こういった機能を実現」
↑
非常に分かりやすくて本にも載ってない説明です、ありがとうございます。
これは分かります。もっと言えば、用意された端末に表示するというのも
加わりますよね?
自分はwin32apiとかwindowが提供するコード全般をwindowsコードって呼んでます。
すいません。
0574デフォルトの名無しさん
2014/05/28(水) 22:20:12.23ID:rQtQSaLu0575デフォルトの名無しさん
2014/05/28(水) 22:22:11.91ID:j2BxTAy4チョンや馬鹿の相手をしても何も得られません。
0576デフォルトの名無しさん
2014/05/28(水) 22:23:07.18ID:uT/cI3NV概念じゃなくてwindowというOSが提供してるから単にwindowsコードって
読んでるだけです、windowsのCD-ROMに刻まれた1と0のくぼみの組み合わせを
windowsコードって呼んでます…
0577デフォルトの名無しさん
2014/05/28(水) 22:24:06.96ID:rQtQSaLu>542 名前:デフォルトの名無しさん[sage] 投稿日:2014/05/28(水) 21:09:02.01 ID:uT/cI3NV [10/20]
>>>539
>え??macやunixは?
なんて投稿があったのを思い出すと怒りしかわいて来ない。
0578デフォルトの名無しさん
2014/05/28(水) 22:24:15.38ID:YEAQ3RMD0579デフォルトの名無しさん
2014/05/28(水) 22:25:03.37ID:PcnkzAVj>機械語はハードのNANDの1と0のスイッチの切り替え
どのレベル(段階)での意味か分からんが違うと思われ
CPUの仕組みとか言い出したら本格的にスレ違いかと
>自分はwin32apiとかwindowが提供するコード全般をwindowsコードって呼んでます。
!?
0580デフォルトの名無しさん
2014/05/28(水) 22:25:43.72ID:rQtQSaLu二度と使うな! NGワード行きだ。
0581デフォルトの名無しさん
2014/05/28(水) 22:28:30.48ID:z4JSSBB1マイコンキット買ってきて、組み立ててみるところからやり直せ
0582デフォルトの名無しさん
2014/05/28(水) 22:28:37.60ID:j2BxTAy4必死で話繕ってるだけだから相手するだけムダだよ。
釣りに見えてその実ガチだから可愛そうではあるが。
0583デフォルトの名無しさん
2014/05/28(水) 22:29:40.00ID:uT/cI3NV断片的な知識だけが多すぎて纏まらない
例えばカーネルっていう言葉も言葉だけは知ってるみたいな
OSの最下位プログラムみたいな認識ですけど
0584デフォルトの名無しさん
2014/05/28(水) 22:30:54.08ID:uT/cI3NV2b4a6c.....(16進機械語)→101010101010101100110100110101(機械語)
このイメージが間違ってると言われたらさすがにショックは感じざる負えないです
これだけは自信を持って信じてました
0585デフォルトの名無しさん
2014/05/28(水) 22:31:37.32ID:KOASUGaT0586デフォルトの名無しさん
2014/05/28(水) 22:32:11.21ID:jgJmJNUOこの手の本を読めよ
似たようなタイトルの本ならなんでもいいから下記3ジャンルの本をよ
コンパイラの仕組み (情報科学こんせぷつ) 渡辺 坦
固定リンク: http://www.amazon.co.jp/dp/4254127081
オぺレーティングシステム (IT Text) 野口 健一郎
固定リンク: http://www.amazon.co.jp/dp/4274132501
コンピュータアーキテクチャ(改訂3?版) 馬場 敬信
固定リンク: http://www.amazon.co.jp/dp/4274211320
0587デフォルトの名無しさん
2014/05/28(水) 22:35:02.23ID:uT/cI3NVありがとうございます
0588デフォルトの名無しさん
2014/05/28(水) 22:35:32.19ID:YEAQ3RMDだったら言葉理解するところから始めなよ
わからないまま語ってるからわけわからんのだよ
そういうのって知識って言わんよ
0589デフォルトの名無しさん
2014/05/28(水) 22:36:01.55ID:KOASUGaTプログラムはなぜ動くのか
ttp://www.amazon.co.jp/dp/4822283151/
0590デフォルトの名無しさん
2014/05/28(水) 22:39:36.26ID:j2BxTAy4そいつは人より頭が悪いんだろうな。
ちょっとずつ間違って覚えちゃうんだろう。
まあそういう奴いるし、可愛そうだが仕方ない。
理解が遅いから覚えるのも大変なんだろうよ。
0591デフォルトの名無しさん
2014/05/28(水) 22:40:52.90ID:mNJNNmC2頼むから自分用語を使うのだけは止めてくれ。話がわけわかんなくなってしまうんで
0592デフォルトの名無しさん
2014/05/28(水) 22:41:09.30ID:uT/cI3NV合ってることと合ってない事を区別して指摘してくれたら嬉しい
俺の言ってる事全部間違いですか?
0593デフォルトの名無しさん
2014/05/28(水) 22:41:43.44ID:uT/cI3NVごめんなさい「windowが提供するコード全般」って呼ぶことにします
0594デフォルトの名無しさん
2014/05/28(水) 22:41:50.14ID:jgJmJNUO以前テレビで月の満ち欠けを理解してない理科教師だかの話とかあったな
色々な形の月がそれぞれ地球の周りをまわってるみたいな
0595デフォルトの名無しさん
2014/05/28(水) 22:42:29.89ID:j2BxTAy4それを人に平気で頼むところが一番腐ってるよお前は。
相手に負担を強いて平気なところ。
0596デフォルトの名無しさん
2014/05/28(水) 22:43:58.70ID:jgJmJNUO0597デフォルトの名無しさん
2014/05/28(水) 22:45:10.24ID:uT/cI3NV弄り方を纏めたり、規則性をつける→機械語の出来上がり
コンピュータの基本ってこれじゃないですか?
0598デフォルトの名無しさん
2014/05/28(水) 22:45:39.42ID:R9mHAQQ7感謝するで
0599デフォルトの名無しさん
2014/05/28(水) 22:45:51.81ID:uT/cI3NV感謝してます
>>588
ありがとうございます
0600デフォルトの名無しさん
2014/05/28(水) 22:47:18.43ID:jgJmJNUO今すぐブックオフにでも行って立ち読みでもしてこいや
おまえは本を読んで勉強してからレスしろ
とんちんかんな考え披露はやめれ
0601デフォルトの名無しさん
2014/05/28(水) 22:47:22.28ID:YEAQ3RMD根拠おさえるということをすすめるわ
あとスレチだからな
0602デフォルトの名無しさん
2014/05/28(水) 22:48:23.09ID:R9mHAQQ7マジで
0603デフォルトの名無しさん
2014/05/28(水) 22:48:35.43ID:ABFwbD7mC言語から遠ざかってるんで余所でやってくれないかな?
0604デフォルトの名無しさん
2014/05/28(水) 22:49:18.99ID:anCLy2f20605デフォルトの名無しさん
2014/05/28(水) 22:49:26.25ID:KOASUGaT0606デフォルトの名無しさん
2014/05/28(水) 22:50:34.01ID:j2BxTAy4ずーっとトンチンカンなんだよ。
借り物の言葉でフワフワ。
とにかく徹頭徹尾トンチンカンなんだよ。
いろんなスレで出没してない?
0607デフォルトの名無しさん
2014/05/28(水) 22:51:05.76ID:uT/cI3NV元々統合失調症っぽくて言葉の使い方が分からなくなります
0608デフォルトの名無しさん
2014/05/28(水) 22:52:32.25ID:uT/cI3NV違いますよ、C以外の言語余りできないですし、次にできるjavaだけど
javaスレは過疎ってるから書き込みしません。
トンチンカン、借り物の言葉、これは認めます。
0609デフォルトの名無しさん
2014/05/28(水) 22:58:08.42ID:uT/cI3NVpipeとかcat,whichとかhistoryですよね?
windowsが生まれる前にunixでC言語のプログラミングってどうやって
やってたんだろう?
0610デフォルトの名無しさん
2014/05/28(水) 23:01:39.97ID:jgJmJNUO0611デフォルトの名無しさん
2014/05/28(水) 23:05:45.05ID:uT/cI3NVとりあえずwindowが提供するコード全般が仲介しまくってることだけは
分かりました、有難う感謝してます。
0612デフォルトの名無しさん
2014/05/28(水) 23:05:47.40ID:J125jWS8ggrks
0613デフォルトの名無しさん
2014/05/28(水) 23:06:23.38ID:J125jWS8二度と顔出すな!
0614デフォルトの名無しさん
2014/05/28(水) 23:15:54.93ID:mspF09G9間違ってはいるがまるっきり出鱈目というほどじゃない
一つに繋げてしまうから訳わからなくなってるだけで
0615デフォルトの名無しさん
2014/05/28(水) 23:17:37.11ID:ASlM1xvm甘やかすな
それぞれの実体がさっぱりわかってないんだぞ
0616デフォルトの名無しさん
2014/05/28(水) 23:17:54.53ID:uT/cI3NVそれは無理、ここは頼れます
0617デフォルトの名無しさん
2014/05/28(水) 23:23:06.30ID:uT/cI3NVこれが言語のプロセスで俺の中のイメージです
0618デフォルトの名無しさん
2014/05/28(水) 23:32:40.31ID:mNJNNmC2>unixはCGIだから言語はスクリプト言語ですね
unixはスクリプトで出来上がっていると考えてます?
0619デフォルトの名無しさん
2014/05/28(水) 23:37:56.80ID:uT/cI3NVcatとかpipe,historyとか今でいう高級言語みたいな感じですか?
unixはunixなりにwindowが提供するコード全般に相当するものが
あったんでしょう
0620デフォルトの名無しさん
2014/05/28(水) 23:41:02.79ID:jgJmJNUO0621デフォルトの名無しさん
2014/05/28(水) 23:44:39.33ID:uT/cI3NV「windowが提供するコード全般」が連絡を取り合って処理を行っていたから。
unixも同じってことですよね?
0622デフォルトの名無しさん
2014/05/28(水) 23:48:37.59ID:jgJmJNUO流行りのファッションサイコパスというやつか
0623デフォルトの名無しさん
2014/05/28(水) 23:54:40.00ID:r6RWITw20624デフォルトの名無しさん
2014/05/29(木) 00:02:49.29ID:uNe9k2ch0625デフォルトの名無しさん
2014/05/29(木) 00:08:03.95ID:vA2c6Hl+理科教師でそれはかなりヤヴァいのでは……
>>609
>unixはCGI
C言語「」
0626デフォルトの名無しさん
2014/05/29(木) 00:16:55.25ID:Kg1bZGF5間違って覚えてるか
以前テレビで月の満ち欠けを理解してない理科教師だかの話とかあったな
色々な形の月がそれぞれ地球の周りをまわってるみたいな
610 名前:デフォルトの名無しさん[sage] 投稿日:2014/05/28(水) 23:01:39.97 ID:jgJmJNUO
ここはおまえの脳内を垂れ流すスレじゃないんですが
0627デフォルトの名無しさん
2014/05/29(木) 00:30:23.07ID:VM5G2GUb0628デフォルトの名無しさん
2014/05/29(木) 00:44:23.99ID:Kg1bZGF50629デフォルトの名無しさん
2014/05/29(木) 00:50:17.82ID:fX5JoJnKなぜかラップ調で再生された
0630デフォルトの名無しさん
2014/05/29(木) 00:53:15.32ID:1+PX4fUT0631デフォルトの名無しさん
2014/05/29(木) 01:04:27.62ID:bLCAImArこれのことか?
「月は8つある」と思っている人が教師になっている
http://d.hatena.ne.jp/toronei/20090803/B
0632デフォルトの名無しさん
2014/05/29(木) 01:50:58.42ID:/G0dYxTO0633デフォルトの名無しさん
2014/05/29(木) 02:33:11.23ID:yg8neWnh0634デフォルトの名無しさん
2014/05/29(木) 02:34:37.07ID:vA2c6Hl+0635デフォルトの名無しさん
2014/05/29(木) 02:43:23.12ID:87hQa66j0636デフォルトの名無しさん
2014/05/29(木) 03:03:27.25ID:vA2c6Hl+一瞬「え、そんな関数あるの?」ってググっちまったじゃないか……
窓関数(フーリエ変換)やWindow関数(SQL)ならあるんだけどね
0637デフォルトの名無しさん
2014/05/29(木) 07:23:23.27ID:zxPZVq+70638デフォルトの名無しさん
2014/05/29(木) 07:53:26.87ID:uZHHlmvY0639デフォルトの名無しさん
2014/05/29(木) 10:23:28.41ID:bNL2V7UE専門板じゃないが
俺の見てるプログラミング系のスレにも日本語がおかしいのが湧いてるわ
0640デフォルトの名無しさん
2014/05/29(木) 22:11:00.96ID:jVNi8UA/CGIを使えるのはunixだけ!(笑)
0641デフォルトの名無しさん
2014/05/30(金) 03:45:28.45ID:TFWWdA/mクソは書き込まなくてよし
0642デフォルトの名無しさん
2014/05/31(土) 21:05:27.29ID:AWUG5WKm0643デフォルトの名無しさん
2014/05/31(土) 21:34:31.97ID:Y+xNHvacそれexeファイル作成時に確定しちゃうんじゃ……
(32bitなexeファイルだとsizeof(intptr_t)が当然4になる)
0644デフォルトの名無しさん
2014/05/31(土) 21:37:28.27ID:S66lgqUj0645デフォルトの名無しさん
2014/05/31(土) 21:54:41.78ID:wiKxQWEqいいんじゃないかしら?
0646デフォルトの名無しさん
2014/05/31(土) 21:58:01.77ID:AWUG5WKmその場合ってポインタのサイズは32ビットになるの?
ポインタのサイズが32なら32ビット判定で良いんだが
ポータブルなマクロとかありそうだが多過ぎてよくわからん
0647デフォルトの名無しさん
2014/05/31(土) 22:20:35.50ID:2Tr9fndhマクロはコンパイル時に解釈されるもんだから実行時のことは知らない。
0648デフォルトの名無しさん
2014/05/31(土) 22:21:46.85ID:Epy9rHM/0649デフォルトの名無しさん
2014/05/31(土) 23:40:11.97ID:fBD4N9aMUNIX系だと判断不能じゃないかな?
OS別ならシステム情報取得のライブラリとかないかな。
0650デフォルトの名無しさん
2014/06/01(日) 01:10:25.36ID:MxSjB8Q564bitマシンだけでは通じない。
実行しているCPUが64bitCPUかどうか判定したのか、
実行環境が64ビット実行形式をサポートしていることを判定したいのか、
自分自身が64ビット実行形式でコンパイルされたのかを知りたいのか、
また64ビット実行形式も一種類ではないし、アーキテクチャ(x64とかia64とか)も複数あるし
OSによるし、CPUによるし、仮想OSもあるし、何を知りたいのかを定義しないと
誰も答えられない
0651デフォルトの名無しさん
2014/06/01(日) 02:21:31.66ID:kbjdxhFmCPUのbit数なんてのはCの仕様範囲外だから何かしら
言語仕様以外の方法を使うしかないだろうね。
0652デフォルトの名無しさん
2014/06/01(日) 23:27:29.17ID:rNEgeMw6ポインタのサイズが64ビットか32ビットかを知りたい
マシンアーキテクチャやOSはどうでもよい
これならどう?
0653デフォルトの名無しさん
2014/06/01(日) 23:32:13.77ID:kbjdxhFm0654デフォルトの名無しさん
2014/06/01(日) 23:36:09.53ID:WpuaGpd9配布はソース、インストール時にコンパイルってのを想定してるの?
0655デフォルトの名無しさん
2014/06/01(日) 23:46:23.89ID:7S+uArMt0656デフォルトの名無しさん
2014/06/01(日) 23:54:17.10ID:7S+uArMt0657デフォルトの名無しさん
2014/06/01(日) 23:54:59.14ID:GWmygECeautoconfのconfigureの時に決めたい訳
0658デフォルトの名無しさん
2014/06/01(日) 23:56:22.70ID:xRAJ7xDZ0659デフォルトの名無しさん
2014/06/02(月) 00:00:07.32ID:iNq6h49s午後でこーだを思い出した
0660デフォルトの名無しさん
2014/06/02(月) 00:57:25.07ID:zBJnJbicあれほんとうにコンパイルしてたの?インストーラにコンパイラ載っけてたの?としたら何?mingw?
なんだか信じがたかったし今でも信じていないなあ、そうそうこの前も再インストールしたっけ‥‥
0661デフォルトの名無しさん
2014/06/02(月) 11:22:47.81ID:xp7tx+tU0662デフォルトの名無しさん
2014/06/09(月) 11:22:07.20ID:sibuC2fsA[0~255]=0 ; みたいに一気に0から255までの配列に入る値を決めることって出来ますか? for文はなしで。
0663デフォルトの名無しさん
2014/06/09(月) 11:35:10.65ID:05afsbmOint A[256] = { 0, }; /* 省略されている部分は 0 扱いになっている */
0664デフォルトの名無しさん
2014/06/09(月) 12:25:32.98ID:M8Wl6BC9http://d.hatena.ne.jp/tt4cs/20120219/1329636595
0665デフォルトの名無しさん
2014/06/09(月) 12:34:34.44ID:7OlN8rvcとか書くと残りの要素も0になる…と思う。
0666デフォルトの名無しさん
2014/06/09(月) 12:43:51.46ID:yIsFdClQ0667デフォルトの名無しさん
2014/06/09(月) 13:01:38.44ID:r3iX82eSsparcのgccがそうだった。x86はrepで初期化するコードだろうけど
0668デフォルトの名無しさん
2014/06/09(月) 13:35:01.67ID:tfrcrV/a0669デフォルトの名無しさん
2014/06/11(水) 18:30:46.81ID:OXJX+SqI0670デフォルトの名無しさん
2014/06/11(水) 18:43:03.83ID:84WXT5GV0671デフォルトの名無しさん
2014/06/11(水) 18:44:21.43ID:fhjMguYPchar c = (char)a;
0672デフォルトの名無しさん
2014/06/11(水) 18:44:42.77ID:TzKy3FGA0673デフォルトの名無しさん
2014/06/11(水) 18:44:53.16ID:5KWw7cXRchar array[SOME_LENGTH];
があったとして、例えばこういうこと?
array[0] = 0;
array[1] = 1;
それとも、こういうこと?
array[0] = 0 + '0';
array[1] = 1 + '0';
0674デフォルトの名無しさん
2014/06/11(水) 18:45:00.51ID:gc0u05WB0675デフォルトの名無しさん
2014/06/11(水) 19:14:22.40ID:OXJX+SqI>>673
最初は>>671みたいなやり方でやってたんですがうまくいきませんでした
先ほど後者の通りに入力したらしっかりと出力までできました!
Cから随分と離れてたんでchar型の細かいルールは忘れてしまったんですが、'0'は数値として足されて足し合わせたものがchar型として代入されるってことですかね
0676デフォルトの名無しさん
2014/06/11(水) 19:21:29.85ID:HfnqJ7tw数字は文字コードが連続してるので足し算するとうまいこと数値が文字になる
0677デフォルトの名無しさん
2014/06/11(水) 19:32:28.19ID:OXJX+SqI0678デフォルトの名無しさん
2014/06/11(水) 19:54:44.89ID:5KWw7cXRまぁ、AsciiだろうとEBCDICだろうと数字文字は並んでいるけど。
0679デフォルトの名無しさん
2014/06/11(水) 20:01:58.71ID:/LGtyonW数字は確実に並んでいるよ。
0680デフォルトの名無しさん
2014/06/11(水) 20:16:35.77ID:HfnqJ7tw0681デフォルトの名無しさん
2014/06/11(水) 21:07:35.75ID:PvW5FlCY0682デフォルトの名無しさん
2014/06/11(水) 21:17:01.25ID:hb+11EfsCでは0から連続してることが保証されてる
0683デフォルトの名無しさん
2014/06/11(水) 21:17:46.93ID:jYCKOqON0684デフォルトの名無しさん
2014/06/11(水) 21:28:19.61ID:QETPSrry0685デフォルトの名無しさん
2014/06/11(水) 22:11:47.07ID:eUb0iqX/> そうなんだ、すごいね! <
´ ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
__、、=--、、 __
/ ・ ゙! /・ `ヽ
| ・ __,ノ (_ ・ |
ヽ、 (三,、, _) /
/ー-=-i'' (____,,,.ノ
|__,,/ |__ゝ
〉 ) ( )
0686デフォルトの名無しさん
2014/06/11(水) 23:28:33.43ID:l+9KcYK6何でもいいから順に並んでいるものを数字として採用すればいい
最初は戸惑うかもだが
しばらく使ってればすぐ慣れるよ
0687デフォルトの名無しさん
2014/06/12(木) 02:52:41.32ID:0fE6ecZu漢数字なら、1文字辺りのバイト数を掛けて添字で。
0688デフォルトの名無しさん
2014/06/12(木) 05:04:04.95ID:19dxnqrTそういう石橋の叩き方をするなら
char *kan[]={"〇","一","二","三","四","五","六","七","八","九"};
とかにしておかないと。
0689デフォルトの名無しさん
2014/06/12(木) 09:47:00.24ID:WI4ByIM20690デフォルトの名無しさん
2014/06/12(木) 10:08:37.58ID:i9nX8euo0691デフォルトの名無しさん
2014/06/12(木) 11:50:41.40ID:UKEKtPhH十とか百、千、万も加えたいなw
0692デフォルトの名無しさん
2014/06/12(木) 22:18:52.40ID:9nauQpX316進数や曜日、英語の月名でも使うよね。
0693デフォルトの名無しさん
2014/06/12(木) 23:59:40.19ID:0fE6ecZuおお、指摘ありがとう
そこまですりゃまず問題なかろうな
0694デフォルトの名無しさん
2014/06/13(金) 14:56:53.96ID:fbb25G1Tint main (void)
{
int no;
printf("整数を入力してください:”);
scanf("%d",&no);
no = 5 * no;
printf("その数の5倍は%dです。\n" , no);
return 0;
}
これの修正どころどこだい
0695デフォルトの名無しさん
2014/06/13(金) 15:27:42.14ID:wW8ozHJ80696デフォルトの名無しさん
2014/06/13(金) 15:48:34.93ID:YStt/tH1全角のダブルクオートとか使うなと
0697デフォルトの名無しさん
2014/06/13(金) 15:50:04.45ID:YStt/tH10698デフォルトの名無しさん
2014/06/13(金) 15:52:21.74ID:0JUM4RsI0699デフォルトの名無しさん
2014/06/13(金) 16:33:28.32ID:EdGTog4tint main()
{
int no;
unsigned char buf[128];
printf("整数を入力してください:");
buf[0]='\0';
fgets(buf,128,stdin);
sscanf(buf,"%d",&no);
no = 5 * no;
printf("その数の5倍は%dです。\n",no);
return 0;
}
0700デフォルトの名無しさん
2014/06/13(金) 17:12:36.60ID:fbb25G1T修正後実行できた
0701デフォルトの名無しさん
2014/06/14(土) 06:09:41.08ID:N0U7iM3xscanf,sscanfの戻り値を調べるように修正しろよ
0702デフォルトの名無しさん
2014/06/14(土) 06:17:44.76ID:N0U7iM3xint main (void)
{
int no;
printf("整数を入力してください:”");
if(scanf("%d",&no)==1){
no = 5 * no;
printf("その数の5倍は%dです。\n" , no);
}
return 0;
}
0703デフォルトの名無しさん
2014/06/14(土) 09:08:58.29ID:gy/b9HBc0704デフォルトの名無しさん
2014/06/14(土) 09:11:59.01ID:RGY3g82H0705デフォルトの名無しさん
2014/06/16(月) 00:59:34.84ID:BBy6/JMr○ > no *= 5;
0706デフォルトの名無しさん
2014/06/16(月) 15:38:12.54ID:15LXpyTU0707デフォルトの名無しさん
2014/06/16(月) 15:39:46.19ID:lEB23VBS0708デフォルトの名無しさん
2014/06/16(月) 18:39:01.50ID:eNuyf1Ao× no = 5 * no;
○ no = no * 5;
で、変数使い回しちゃうのもいただけない。
0709デフォルトの名無しさん
2014/06/16(月) 18:39:42.13ID:7he4xSgp0710デフォルトの名無しさん
2014/06/16(月) 19:19:02.63ID:yaRJosAv答えが最後にくるんだから、 no = 5 * no;で右から読むのが正しい
0711デフォルトの名無しさん
2014/06/16(月) 20:14:16.36ID:eNuyf1Aoそれはちょっと考えたけど割り算がなぁ…÷じゃなくて/だから違うといえば違うんだがそれ言うと×じゃなくて*だしうーん
0712デフォルトの名無しさん
2014/06/16(月) 22:51:00.61ID:DMpLIyZEって技術は時代遅れかのう...
0713デフォルトの名無しさん
2014/06/16(月) 22:55:35.34ID:7he4xSgp・a + b * 4 を、うっかり a + b << 2 としてバグを入れてしまう危険がある
以上の理由で「やるな!」
0714デフォルトの名無しさん
2014/06/17(火) 00:37:25.96ID:zij/VPS5no = no + no + no + no + no;
なし
0715デフォルトの名無しさん
2014/06/17(火) 16:55:49.95ID:OBRvPqMN0716デフォルトの名無しさん
2014/06/19(木) 15:34:39.83ID:lyOzh5Qj何のために必要なんですか?
0717片山博文MZ悪魔崇拝 ◆T6xkBnTXz7B0
2014/06/19(木) 15:46:29.86ID:4S5DOub9typedef struct ABC ABC;でstruct ABCのstructを省略できる。
関数ポインタの型はややこしいので名前をつけたりする。
0718デフォルトの名無しさん
2014/06/19(木) 15:49:30.52ID:zL/PZdxptypedef double (*fptr_t)(int);
/* int を引数に double を返す 関数のポインタ を 1つの型として別名で呼ぶ */
fptr_t array[10];
なんかしらんけど 10個の配列
なんかしらんけど の正体は 「int を引数に double を返す 関数のポインタ」
0719デフォルトの名無しさん
2014/06/19(木) 18:21:01.74ID:xM9hF8zKこのとき、
型 fptr_t が宣言された、と考えていいのですかね。
0720デフォルトの名無しさん
2014/06/19(木) 20:51:15.93ID:MpV+gRiAtypedef にのご利益はあまり感じられない
>718 も普通に
http://codepad.org/xm87ZqO7
と書いてなんの惑いもない
(a + b + c)(x + y + z) を計算するのに、いちいち 「A = a + b, X = x + y とおいて」 とかやらないだろう?
宣言を頭(優先度の高い順)から素直に読めば、あるいは書けばいいだけだ
0721デフォルトの名無しさん
2014/06/19(木) 21:00:51.18ID:yKcfPy0Eあと、型が変わる可能性があるときとかに互換性保つ時にもつかう
0722デフォルトの名無しさん
2014/06/19(木) 21:20:08.24ID:E5cNUetz0723デフォルトの名無しさん
2014/06/19(木) 21:23:20.43ID:m01fN/BB要は抽象化だよね。なんかいろいろあるものを一つの概念にまとめてしまう。
0724デフォルトの名無しさん
2014/06/19(木) 21:24:52.04ID:Di0jt70X0725デフォルトの名無しさん
2014/06/20(金) 02:02:41.10ID:ZA7ZhzvF0726デフォルトの名無しさん
2014/06/20(金) 09:37:33.48ID:dsRMr9XY0727デフォルトの名無しさん
2014/06/24(火) 12:42:25.32ID:OmvI3p+s何度でも使用可能で1度発動させたら数秒間のみ有効になるとかな
他の人のアイテム所有状況を確認する技術で差がつくようにすればいい
0728デフォルトの名無しさん
2014/06/24(火) 12:43:35.95ID:OmvI3p+s0729デフォルトの名無しさん
2014/06/24(火) 21:41:34.98ID:d/oEJT3wVisual Studio(統合開発環境)
テキストエディタ+コンパイラ
があるけど、どっちがいいの?
あとVisual StudioってVisual C++と違うの?
0730デフォルトの名無しさん
2014/06/24(火) 21:53:51.71ID:99ig3M/TVisual C++、Visual C#、Visual Basic、Visual FoxProとかある。
統合環境がなければ、メニューすら作れないってのがオチでは?
0731デフォルトの名無しさん
2014/06/24(火) 22:11:53.62ID:d/oEJT3wVisual C++、Visual C#、Visual Basic、Visual FoxProとかある。
↑これって、プログラミング言語なの?統合開発環境の名前じゃないんだ。
0732デフォルトの名無しさん
2014/06/24(火) 22:34:18.06ID:AfD6RzLL難しいなぁ...
0733デフォルトの名無しさん
2014/06/24(火) 23:30:35.36ID:d/oEJT3w0734デフォルトの名無しさん
2014/06/24(火) 23:36:38.38ID:949Uh9AG0735デフォルトの名無しさん
2014/06/24(火) 23:39:47.23ID:AMB+0gaJテキストエディタはお勧めしない、せめてEclipse CDTを使おう
0736デフォルトの名無しさん
2014/06/25(水) 00:02:29.51ID:fqAH/3zi0737デフォルトの名無しさん
2014/06/25(水) 00:29:21.75ID:WpWGRtCV0738デフォルトの名無しさん
2014/06/25(水) 02:23:43.01ID:jtYcep/V0739デフォルトの名無しさん
2014/06/25(水) 07:30:20.14ID:8pUr0YL0ウィンドウの操作が出来る事前提
pathの概念を知ってて、かつコマンドプロンプトでの操作(ディレクトリの移動等)が
が出来ないと
>統合環境
便利なんだろうけど、環境設定ではまると統合環境の勉強してんだか
言語の勉強してんだか判らなくなってしまうことがある
0740デフォルトの名無しさん
2014/06/25(水) 08:20:23.89ID:hNZfvDcq0741デフォルトの名無しさん
2014/06/25(水) 09:20:14.67ID:i65JE2xXもう統合環境のデバッガ無しじゃやっとれん。
0742デフォルトの名無しさん
2014/06/25(水) 09:32:16.40ID:4hnh7AK90743デフォルトの名無しさん
2014/06/25(水) 11:10:45.62ID:hNZfvDcq下巻まできっちり読んでるやつそんないないんじゃねえの
今のトレンドだとリーダブルコードだろう
0744デフォルトの名無しさん
2014/06/25(水) 11:53:41.10ID:CQ02L68X0745デフォルトの名無しさん
2014/06/25(水) 12:06:21.96ID:EItPnDF/C++とかならMinGWやCygwinでgccが有効だけど只のCならTCCも手軽で良いぞ
最適化が駄目なのとC++が使えないのとインラインアセンブラがGAS系なのは微妙だが、
入れるの楽だしコンパイル速いし出力ファイルサイズも小さいしスクリプト言語っぽく使えるのも便利
>>738
動くOSの数はトップだろうけど、どのOSでもって程かというと微妙
組み込みOSだとクロスコンパイル主流で、そのOS上では動かさない気が
0746デフォルトの名無しさん
2014/06/25(水) 13:06:54.53ID:KznGqNfnことなら codepad.org とかもあり
0747デフォルトの名無しさん
2014/06/25(水) 19:10:14.54ID:sJ/yOKiH0748デフォルトの名無しさん
2014/06/25(水) 21:48:11.97ID:z2YOEiqg0749デフォルトの名無しさん
2014/06/29(日) 15:27:53.10ID:jP/1PhLnswitch(c->type)
これは、アドレスを指しているんですか?
それとも実数の方ですか?
0750デフォルトの名無しさん
2014/06/29(日) 15:56:53.70ID:oo42qWNH0751デフォルトの名無しさん
2014/06/29(日) 17:23:53.75ID:SAEXjcrs0752デフォルトの名無しさん
2014/06/29(日) 19:06:45.93ID:NHgMwVfY0753デフォルトの名無しさん
2014/06/29(日) 19:08:27.69ID:lFZ15VQI0754デフォルトの名無しさん
2014/06/29(日) 23:42:01.15ID:kXYJfkvLと同じな。
0755デフォルトの名無しさん
2014/06/30(月) 11:18:08.41ID:zk7ZCcUw自動変数なのですか?
0756デフォルトの名無しさん
2014/06/30(月) 11:42:27.35ID:ODccEViJ0757デフォルトの名無しさん
2014/06/30(月) 11:46:17.37ID:ODccEViJ./ex1.c | ./ex2.c
この時、ex1の標準出力がex2に渡ると思うのですが、ex2のどの変数に出力が格納されるか知りたいです
0758デフォルトの名無しさん
2014/06/30(月) 11:50:56.93ID:ODccEViJ例えばRubyでは、
# ex1..rb
puts "hello, world"
# ex2.rb
s=gets
print s
ruby ex1.rb | ruby ex2.rb
この時、標準出力にはex1から渡ってきた文字列がex2のプログラムで出力されているように見えるのです
0759デフォルトの名無しさん
2014/06/30(月) 12:02:50.55ID:lJxnkRTGいいえ、標準入力です。
なので、fgets(buf, sizeof buf, stdin)と言った取り出し方が多分Rubyの例と似た結果になります。
0760デフォルトの名無しさん
2014/06/30(月) 12:11:38.08ID:ODccEViJありがとうございますm(_ _)mおかげさまでよく理解出来ました。パイプについて、知識が足りませんでした。
0761デフォルトの名無しさん
2014/07/04(金) 12:45:03.68ID:vJsZP06f0762デフォルトの名無しさん
2014/07/04(金) 14:51:24.00ID:Drkr2UiK鼬害です。
cygwinのスタートアップをダウンロードして、スタートアップでgccにチェックを入れるだけだ。
それさえできないなら向いてないからやめとけ。
0763デフォルトの名無しさん
2014/07/04(金) 22:06:16.60ID:YXI4fE8hできなかった。
0764デフォルトの名無しさん
2014/07/04(金) 22:12:59.05ID:ebNRiC3xこういう手順でやったけど、ページが404になっていてダウンロードできません
ダウンロードしたけど、インストール時になんとかというエラーが出て止まってしまいます
みたいに、自分のやったことぐらいかけ
0765デフォルトの名無しさん
2014/07/04(金) 22:33:36.21ID:YXI4fE8hsetup.exe 64を押してダウンロードして実行したと思うんだけど、そこから先が意味不明。パッケージはgccの何を選べばいいかわからないし、パッケージのダウンロードもできてなかったと思う
0766デフォルトの名無しさん
2014/07/04(金) 22:50:06.53ID:qjT4L/WNそもそもC言語の質問じゃねーし
0767デフォルトの名無しさん
2014/07/04(金) 23:21:07.39ID:YXI4fE8h上でC言語勉強するならCygwin落としてgcc入れればいいって書いてあったんだよ。
0768デフォルトの名無しさん
2014/07/04(金) 23:34:18.75ID:3Jp7hRobWindowsでそのまま動くgccもあるよ
0769デフォルトの名無しさん
2014/07/04(金) 23:52:11.55ID:YXI4fE8h何それ?
0770デフォルトの名無しさん
2014/07/05(土) 00:01:43.32ID:fW5z6BCT0771デフォルトの名無しさん
2014/07/05(土) 00:04:30.63ID:TZT85Njahttp://peace.2ch.net/test/read.cgi/unix/1331382186/
Cygwin + MinGW + GCC 相談室 Part 7
http://peace.2ch.net/test/read.cgi/tech/1357019230/
0772デフォルトの名無しさん
2014/07/05(土) 00:13:55.90ID:lG7Vks4t0773デフォルトの名無しさん
2014/07/05(土) 00:31:46.80ID:73ZHJ04lhttp://www.nwt.jp/document/strawberryperl.php
0774デフォルトの名無しさん
2014/07/05(土) 00:34:49.91ID:8KImq0vYこれは何が原因ででるんでしょうか?
0775デフォルトの名無しさん
2014/07/05(土) 00:49:15.35ID:7oOEkOAN前後の内容によりけり。
0776デフォルトの名無しさん
2014/07/05(土) 01:00:23.49ID:y6F7Kq9M0777デフォルトの名無しさん
2014/07/05(土) 09:57:46.11ID:gb/2NXQK0778デフォルトの名無しさん
2014/07/05(土) 15:12:38.87ID:st/oweyoPC初心者板でも逝けよ。
つーか、自分の端末にコンパイラを入れるよりもいっそideon.comでも使った方がましだろ。
0779デフォルトの名無しさん
2014/07/05(土) 17:35:13.96ID:8KImq0vY構造体で入力したのを身長の高い順に出力するプログラムをつくりたいのですが
エラー箇所がわかりません
書いたコードです
http://www.dotup.org/uploda/www.dotup.org5168947.c.html
以下のような表示にしたいです
誰か教えてください!
番号: 1
名前: 小保方晴子
年齢: 22
身長: 180
体重: 65
出身地: 千葉
特技: コピペ
番号: 0
名前: ゆうちゃん
年齢: 20
身長: 175
体重: 70
出身地: 東京
特技: 遠隔操作
0780デフォルトの名無しさん
2014/07/05(土) 17:36:04.00ID:8KImq0vY番号: 4
名前: 野々村議員
年齢: 22
身長: 168
体重: 70
出身地: 大阪
特技: メルトダウン会見
番号: 3
名前: 佐村河内
年齢: 20
身長: 162
体重: 55
出身地: 広島
特技: 人狼
番号: 2
名前: ASKA
年齢: 21
身長: 160
体重: 52
出身地: 福岡
特技: キメ●ク
0781デフォルトの名無しさん
2014/07/05(土) 17:37:13.19ID:8KImq0vY>>780
は775ではなく>>774でした
0782デフォルトの名無しさん
2014/07/05(土) 17:46:07.10ID:3J+m8Ph032 行目 > を < に
0783デフォルトの名無しさん
2014/07/05(土) 17:57:43.06ID:8KImq0vYできました!
ありがとうございます<(_ _)>
0784デフォルトの名無しさん
2014/07/10(木) 11:50:09.32ID:iUfsrIHDお願いします・・・
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14131676849
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13131676958
0785デフォルトの名無しさん
2014/07/10(木) 12:14:28.45ID:HM31btdY0786デフォルトの名無しさん
2014/07/10(木) 14:49:55.73ID:1VHW603R0787デフォルトの名無しさん
2014/07/13(日) 07:13:19.06ID:miJUEW2J$ g++ -Wall program.c
$ ./a.exe
で Segmentaion faultになります…
(main() では hoge()を呼び出すだけです)
何がおかしいのでしょうか?
FILE fp
in NumberOfData
void hoge(void)
double time;
fp = fopen(filename, "r");
if(fp == NULL){
fprintf(stderr, "hoge.data is not found. Program teminated.\n");
}
fscanf(fp,"%lf",time);
printf("Time_sim: %lf\n",time);
fscanf(fp,"%d",&NumberOfData);
printf("NumberOfData: %d\n",NumberOfData);
fclose(fp);
}
以下 hoge.dataの内容
0.000000
3570
0 -0.039900 0.000100 0.000000 0.000000 0.000000 6.539697
:
0788デフォルトの名無しさん
2014/07/13(日) 08:28:01.88ID:RETejGWZprintf入れてどこまで表示されるかとかな
人に聞く前に最低限そのくらいはな
思いつくぐらいの頭がないとな
向いてないから死ねといいたくなるよね
0789デフォルトの名無しさん
2014/07/13(日) 08:34:31.32ID:0Iul1EJeおかしいところだらけ。どうせ、手作業で書き写したときのミスで
重要じゃないと思ってるんだろうけど、そういう姿勢がよくない。
一見してあやしいのは、fscanf(fp, "%f", &time);
0790デフォルトの名無しさん
2014/07/13(日) 09:56:41.07ID:miJUEW2Jありがとうございます.デバッガというもの初めて使いました.&timeにうまくいきました.
0791デフォルトの名無しさん
2014/07/13(日) 20:14:31.15ID:G9QhDNfC0792デフォルトの名無しさん
2014/07/16(水) 10:52:04.54ID:nDYTEo7eまぁあまりに多くなるようなら構造体や配列のようにひとまとめにしてからにした方が
良いのでしょうけど。
0793デフォルトの名無しさん
2014/07/16(水) 10:59:26.83ID:VblCYr0v但し、余り多くなるようなら、寧ろ関数のI/Fを見直すべきだ。
本当にそこで切るべきかどうかをね。
0794デフォルトの名無しさん
2014/07/16(水) 11:32:19.21ID:nDYTEo7e了解です!
0795デフォルトの名無しさん
2014/07/16(水) 11:48:05.77ID:3tXoGCWW0796デフォルトの名無しさん
2014/07/16(水) 12:53:47.95ID:VblCYr0vそれ、仮に引き数を構造体に纏めて同じだけ消費するよね。ポインタ渡しにするなら話は別だけど。
0797デフォルトの名無しさん
2014/07/16(水) 13:12:23.11ID:d7zsm7AzC99では引数が127個でもコンパイルして実行できるようにしろと要求されている。
0798デフォルトの名無しさん
2014/07/16(水) 13:35:01.48ID:3tXoGCWWそして結果を書き込めよ
0799デフォルトの名無しさん
2014/07/16(水) 14:48:06.79ID:b2Fwx4Ep0800デフォルトの名無しさん
2014/07/16(水) 17:20:33.06ID:XexGWa0+一般論あるいは仕様として上限があるかの質問なのに
特定の環境で試してみろって、このスレにいる必要ないよ
0801デフォルトの名無しさん
2014/07/16(水) 17:41:23.95ID:2op6UOhL- 127 arguments in one function call
0802デフォルトの名無しさん
2014/07/16(水) 22:54:19.37ID:gc2StV5O構造体は(環境によるけど)Pack できるけど、引数で Pack できる環境ってあるっけ?
逆に引数は一部をレジスタ渡しにしたりもするし。
要するに
> それ、仮に引き数を構造体に纏めて同じだけ消費するよね。
は、ダウト
0803デフォルトの名無しさん
2014/07/17(木) 09:37:13.39ID:+y76qgpq0804デフォルトの名無しさん
2014/07/17(木) 13:33:38.63ID:Dv70qjb7一つでもあったらダウトでしょ?
0805デフォルトの名無しさん
2014/07/17(木) 17:42:17.18ID:ITI45oJ80806デフォルトの名無しさん
2014/07/17(木) 17:58:05.22ID:0l31ALfX0807デフォルトの名無しさん
2014/07/17(木) 20:14:45.43ID:oG7QfsM90808デフォルトの名無しさん
2014/07/17(木) 20:36:35.61ID:+37EBU2hdoubt『疑い』, 『疑う』
●『疑い』, 疑惑; 疑わしさ, 疑問
●を『疑う』, 疑問に思う
0809デフォルトの名無しさん
2014/07/18(金) 08:12:45.08ID:Eltj5rKA0810デフォルトの名無しさん
2014/07/18(金) 09:36:39.10ID:5AiP+nFp0811デフォルトの名無しさん
2014/07/18(金) 11:17:43.06ID:KnXUTMy40812デフォルトの名無しさん
2014/07/18(金) 11:59:29.82ID:rqweNMeD807じゃなくて?
0813デフォルトの名無しさん
2014/07/18(金) 12:09:50.35ID:YVo5FHQe0814デフォルトの名無しさん
2014/07/18(金) 12:57:56.67ID:QuIJUfIo0815デフォルトの名無しさん
2014/07/18(金) 13:56:43.18ID:Eltj5rKA擦り付けに必死w
0816デフォルトの名無しさん
2014/07/18(金) 18:34:34.13ID:KnXUTMy40817デフォルトの名無しさん
2014/07/18(金) 18:57:57.00ID:XOq/FGJSダウト!
0818デフォルトの名無しさん
2014/07/18(金) 19:31:59.80ID:KnXUTMy40819デフォルトの名無しさん
2014/07/18(金) 20:17:15.18ID:AYfxGtzX0820デフォルトの名無しさん
2014/07/19(土) 01:03:22.86ID:EgkYCaU8int func(void);
と書かないとダメなんでしょうか。
int func();
だったら?
0821デフォルトの名無しさん
2014/07/19(土) 01:28:44.74ID:Ps2LU5VJ後者は可変引数と判断される
引数無しとしたいのであれば前者
0822デフォルトの名無しさん
2014/07/19(土) 01:55:42.00ID:rMa3MVVS違うよ。
0823デフォルトの名無しさん
2014/07/19(土) 02:05:03.91ID:ECXAO9gw0824デフォルトの名無しさん
2014/07/19(土) 02:07:33.36ID:Ps2LU5VJまじでか
正直すまんかった
回答頼む
0825デフォルトの名無しさん
2014/07/19(土) 02:17:03.73ID:J4W8tvW3引数情報を省略してる事になり実装によっては引数の不一致警告やエラーが出なくなる。
0826デフォルトの名無しさん
2014/07/19(土) 02:20:26.37ID:fxv5G0UV0827デフォルトの名無しさん
2014/07/19(土) 14:32:08.82ID:RJFTE+GY0828デフォルトの名無しさん
2014/07/19(土) 20:58:15.40ID:98oDM4wS(...) というのは、許してもらえるのかな‥
0829デフォルトの名無しさん
2014/07/20(日) 11:26:50.22ID:ErUz0FQnその辺が気になるなら C++をベターC として使えばよいのではないか
0830デフォルトの名無しさん
2014/07/26(土) 23:23:08.07ID:Akt2fitS一括でバックスラッシュに変える方法ないでしょうか?
0831デフォルトの名無しさん
2014/07/27(日) 04:44:14.53ID:j6qWMrth0832デフォルトの名無しさん
2014/07/27(日) 22:59:59.98ID:0xlnIBRW0833デフォルトの名無しさん
2014/07/28(月) 01:49:11.29ID:QMz/AUC4#include <windows.h>
#include <conio.h>
#include <stdlib.h>
#define N 100
#define SLEEP 108
int main()
{
int i = N; int j;
int freq[8] = {494, 554, 440, 220, 330};
while(i--)
{
for(j=0; j<5; j++)
{
Beep( freq[j], 108*7);
Sleep(SLEEP*1);
}
Sleep(SLEEP*(rand()%8+1));
}
return 0;
}
0834デフォルトの名無しさん
2014/07/28(月) 17:19:09.10ID:kGEXWNpv「関数の各引数の意味を答えろ」って問題があったらどういう感じで答えたらいいですかね?
問題作成者の意図がイマイチわからん・・・
0835デフォルトの名無しさん
2014/07/28(月) 17:31:31.66ID:vth2xUOYが分からなけば意図がわからないです。
0836デフォルトの名無しさん
2014/07/28(月) 17:59:54.51ID:kGEXWNpvhttp://www.dotup.org/uploda/www.dotup.org5217769.jpg
このソースコードに対して「関数の各引数の意味を答えろ」だったらどうでしょうか
0837デフォルトの名無しさん
2014/07/28(月) 18:06:34.15ID:OhtMA+Pb「最大値を求める対象の2つの整数」
0838デフォルトの名無しさん
2014/07/28(月) 18:08:03.34ID:nQYN6BeP0839デフォルトの名無しさん
2014/07/28(月) 18:43:38.01ID:kGEXWNpvだいたい感じつかめました。
ありがとうございます
0840デフォルトの名無しさん
2014/07/28(月) 23:08:09.14ID:QMz/AUC4main()
{
printf("こんにちは、ご主人様…");
}
0841デフォルトの名無しさん
2014/08/06(水) 16:41:46.08ID:FZDkv36t0842デフォルトの名無しさん
2014/08/08(金) 01:27:13.99ID:kM8kmmeuひとつのヘッダーファイルを作り、mainで必要な分インクルードするという
のはメジャーなやり方なのですか?
0843デフォルトの名無しさん
2014/08/08(金) 08:18:50.22ID:UVEcNXW4そうした方がプログラムが読みやすくなるならそうするべきだし
そうならないならそうしない方がいい
他の人がそうしてるから真似するという姿勢では駄目だ
物事の本質を見据えて主体性を持って行動するべき
0844デフォルトの名無しさん
2014/08/08(金) 08:32:17.22ID:Ow0uivX6組で作るのはメジャー
使いたい所でincludeするのもメジャー
従ってmainでも何かしらをincludeするのもメジャー
ただし、バラバラダラダラと全てを書くのは必ずしもメジャーではないかな
0845デフォルトの名無しさん
2014/08/09(土) 02:34:06.08ID:o68Wj79gexit(0); で終わらせるのと return 0; で終わらせるで
違いはありますか
0846デフォルトの名無しさん
2014/08/09(土) 03:19:18.09ID:9vdEjx6Q0847デフォルトの名無しさん
2014/08/09(土) 06:05:15.14ID:sPU18Xtd普通はありません。
0848デフォルトの名無しさん
2014/08/09(土) 10:19:52.66ID:rjH8LSplポインタや構造体を反映されても困るが。
0849デフォルトの名無しさん
2014/08/09(土) 14:44:12.61ID:sPU18Xtdされますよ。exit()の引き数も。
0850デフォルトの名無しさん
2014/08/09(土) 15:11:24.32ID:zl/VqujOint mainならintの値をreturnとか。
0851デフォルトの名無しさん
2014/08/09(土) 19:10:29.18ID:rq1YAaJh以下に違いはあるのでしょうか?
char str[5]="";
char str[5]={0};
0852デフォルトの名無しさん
2014/08/09(土) 20:39:29.95ID:GHgUg0EK気にしなくてよし。
0853デフォルトの名無しさん
2014/08/10(日) 09:00:15.30ID:YKEPe6r6保証されているんだっけ
0854デフォルトの名無しさん
2014/08/10(日) 12:11:33.52ID:qvEZGcVlそれをするのは OS
0855デフォルトの名無しさん
2014/08/10(日) 12:35:02.05ID:YKEPe6r6それをさせるためにAPIなりシステムコールを
exit();は呼ぶのではないのでしょうか?
0856デフォルトの名無しさん
2014/08/10(日) 12:49:12.90ID:qCeD72H+0857デフォルトの名無しさん
2014/08/10(日) 12:59:22.53ID:YKEPe6r60858デフォルトの名無しさん
2014/08/10(日) 14:25:42.87ID:e1we3CSQ普通は、アプリがやろうがやらまいが、アプリの実行が終了したら
アプリが動作中に確保していたリソースはOSが全て開放する。
0859デフォルトの名無しさん
2014/08/10(日) 16:53:45.36ID:aBoAeD3q0860デフォルトの名無しさん
2014/08/10(日) 17:04:55.73ID:DcfkR93xvalgrindなどでこれはリークじゃないんです
見ないでく下さい
という設定をやらなくて済む
linuxでGUIやるとXlibの時点でその作業があるので大変だったなぁ
0861デフォルトの名無しさん
2014/08/10(日) 17:20:08.69ID:l5Qd4ft5書けるのなら手を抜かずに delete/free() したほうが自分のためだね
0862デフォルトの名無しさん
2014/08/10(日) 18:22:07.36ID:vzQyKdrK0863デフォルトの名無しさん
2014/08/10(日) 18:58:41.01ID:l5Qd4ft5int21h/31hを使え
0864デフォルトの名無しさん
2014/08/12(火) 02:16:27.36ID:pMraHo9Uint main(int argc, char **argv){}
int main(int argc, char **argv)
{
char *v[] = {"hoge", NULL};
char *e[] = {NULL};
...
execve("hoge", v, e);
}
すれば良いよ。free教の狂典ではexecveは例外となってるらしいから。
0865デフォルトの名無しさん
2014/08/12(火) 04:28:38.98ID:iwXgz5NB0866デフォルトの名無しさん
2014/08/12(火) 04:51:18.22ID:Rps995A50867デフォルトの名無しさん
2014/08/12(火) 23:23:38.77ID:QTnvo/EFexecv*() に malloc() で確保したベクターを渡すときに、そのベクターはfree() しょうがない、だね厳密には
0868デフォルトの名無しさん
2014/08/13(水) 12:51:15.78ID:Za2EKwLKどういう意味?それ以外のメモリならfree()できるってこと?
どうやって?
0869デフォルトの名無しさん
2014/08/13(水) 23:54:54.14ID:9jHt6nG8大容量の動的確保・開放を繰り返す場合でさえ、
自前でメモリ管理を再発明すればfree不要とかのたまいかねん連中だぞ。
0870デフォルトの名無しさん
2014/08/13(水) 23:56:37.31ID:tOwUt3z10871デフォルトの名無しさん
2014/08/14(木) 00:02:03.83ID:3NEVz3600872デフォルトの名無しさん
2014/08/14(木) 00:08:53.71ID:Eelz7SYO0873デフォルトの名無しさん
2014/08/14(木) 00:11:46.57ID:3NEVz360そのばあいは、りあろったやつがせきにんをもってふりーすんだよ
0874デフォルトの名無しさん
2014/08/14(木) 00:26:12.52ID:Eelz7SYO0875デフォルトの名無しさん
2014/08/14(木) 00:39:23.84ID:3NEVz360は?
0876デフォルトの名無しさん
2014/08/14(木) 04:02:38.85ID:jDhN7lgEそれは Micro Soft 独自機能 http://msdn.microsoft.com/ja-jp/library/xbebcx7d.aspx
ISO/IEC 9899:1999 7.20.3.4 には realloc() が malloc() と同様の動作になる場合の記述はあっても、realloc() が free() と同等の動作になる場合については記述はない
0877デフォルトの名無しさん
2014/08/14(木) 05:15:58.94ID:mYwSdCAJrealloc(ptr,0)をfreeとして使うならrealloc(0,size)をmallocとして使えばmallocも要らん(Linux)
つか「free(ptr) と等価である。」てfreeしてるじゃねぇか!
>>875-876
http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/malloc.3.html
一応ここでは準拠した上での拡張とは書かずただC89、C99準拠としてそういう挙動だと書いてるな。
0878デフォルトの名無しさん
2014/08/14(木) 06:17:31.10ID:jDhN7lgEJIS X3010:2003
要求された領域の大きさが 0 であるとき、その動作は処理系定義とする。
その man はあてにならない
0879デフォルトの名無しさん
2014/08/14(木) 06:44:52.91ID:prwA4+6Gまじか
877じゃないが俺のmanにも等価って書いてあるわ
0880デフォルトの名無しさん
2014/08/14(木) 08:33:27.40ID:mYwSdCAJreallocでmallocとfreeを代用出来んこともない、という程度。
多分BSDでは死ぬし、Windowsでも保障はないし(そういう実装だがMSDNには記載がない等)。
>>878
「一応」と書いといたが、やっぱりそうか。しかし拡張は拡張として記載してほしいねぇ…
0881デフォルトの名無しさん
2014/08/14(木) 09:01:23.94ID:wROGfWf+今後の全バージョンで今までと等価な動作が保証される訳でもない。
つまり、そういうことだ。
0882デフォルトの名無しさん
2014/08/14(木) 09:53:26.01ID:3NEVz360reallocでサイズ0にすることでfree等価だよって言いたかったのか
あほかぁーっ、だったらfreeせんかいw
結局freeの必要性感じてんじゃねーか
何か変にひねくれてるやつ多いよな
0883デフォルトの名無しさん
2014/08/14(木) 09:54:08.14ID:MeOL7pvQちげーよ、バカ。
いつ、いかなる場合でも、mallocしたメモリブロックはfreeすべし
という狂義に従っているのが、free狂信者
0884デフォルトの名無しさん
2014/08/14(木) 10:03:36.54ID:3NEVz360その辺うまいことやってたよね
いずれにしても、mallocやcallocしたやつがfreeするのは当然やるべき責務
何かの関数の引数として渡すことは、malloc、calloc、freeの関数ライブラリが
考慮していないのでやるべきではないってことだろ
0885デフォルトの名無しさん
2014/08/14(木) 10:19:54.84ID:NVPBD/WOなんだそりゃ。freeは権利。
ヒープに空きを作りたいときに呼べばいい。
たったそれだけのこと。
0886デフォルトの名無しさん
2014/08/14(木) 10:43:16.91ID:3NEVz360開放してくれるんだっけ?(メモリーリークにならないんだっけ?)
0887854
2014/08/14(木) 11:10:19.71ID:jDhN7lgE仮に処理系が何もしなくても、OS が綺麗に掃除してくれる。
「須らくmalloc()したものfreeすべし()」とう狂義に従うfree狂信者だが、それくらいのことは知っている
malloc() にしても、いちいち OS にお伺いをたててメモリ領域を都度もらってくる、とかしているわけではない
0888デフォルトの名無しさん
2014/08/14(木) 11:19:21.98ID:RcQEYo9o0890デフォルトの名無しさん
2014/08/14(木) 11:39:06.18ID:EcJA/eZW後々のこと考えるとfree()まで書いとかんとバグり易い…
ダングリングポインタ問題は、free()を抜いて解決する問題じゃなくて
管理方法で解決すべき問題でしょ
0891デフォルトの名無しさん
2014/08/14(木) 11:47:22.64ID:3NEVz360freeしないやつは、正直どうかと思うけど、他の既製APIの関数にmallocしたメモリーを
渡す場合にどうすべきか?って話だよね?
個人的にはやっぱり、mallocしたやつがfreeすべきだし、ポインタもらった関数は、
そのコピーを自分でmallocして保持し、関数側が責任をもってfreeするルールが
必要だとおもうけど
前にも書いたけど、昔のObjective-Cでは、retainカウンタによってそれを
実現してた
0892デフォルトの名無しさん
2014/08/14(木) 11:48:03.20ID:MeOL7pvQ黙々と必死に無意味なfreeしてろ。
0893デフォルトの名無しさん
2014/08/14(木) 11:56:08.16ID:3NEVz360開放してくれるんなら全然いいっすよ
別にfree教?の布教がやりたいわけではないんで
ちなみに、Objective-Cでやってた仕組み
https://developer.apple.com/library/ios/documentation/general/conceptual/DevPedia-CocoaCore/Art/memory_management.jpg
今はGCは自動化されているのが普通だけど、めんどくさいながらちゃんと
考えられた仕組みではある
Cで真面目にメモリ管理するんだったら、こういうことする感じだろうなと
0894デフォルトの名無しさん
2014/08/14(木) 12:02:40.96ID:6tELeMbI俺が何を言っているのか分からないんだろうけど
0895デフォルトの名無しさん
2014/08/14(木) 12:06:32.47ID:3NEVz360あなたの元IDを教えてください
あなたの言っていることは何なのかを考えます
0896デフォルトの名無しさん
2014/08/14(木) 12:14:43.32ID:jDhN7lgE>他の既製APIの関数にmallocしたメモリーを渡す場合にどうすべきか?って話だよね?
確かにね、これは考えるね
malloc() したものを別の関数に引数として渡すときは、渡された関数は「もらったものは触らない」でいいと思うんだ
malloc() したものを返り値として返す、とか mallloc() したものを、キューやスタックやマップに載っける、とかだとね‥
‥そこをうまくもれなく処理するのが C の軽み、ってことで。
0897デフォルトの名無しさん
2014/08/14(木) 12:16:47.47ID:MeOL7pvQ0898デフォルトの名無しさん
2014/08/14(木) 12:20:54.35ID:3NEVz360そうなんすよね
やっぱり、malloc()した側が、そのメモリの状態を知っているので、
その人が最後まで管理するのが自然
そういう意味では、渡された関数側はfreeしてはいけないし、する必要もない
ただ、処理中に渡し元でfreeされたら困る場合は、コピーを自前でmalloc()して
処理するしかない
あるいは、>>893のようなObjective-Cでの保持カウンタのような、
使いたい人はそのメモリのリテインカウンタを+1して、いらなくなったら-1する
そして、カウンタが0になった時、release(free)される仕組みがあれば
コピーを自前で作ることなく、一つの同一アドレスのメモリーを共有することができる
そろそろスレチかな
0899デフォルトの名無しさん
2014/08/14(木) 12:21:22.62ID:qppS6X9hWindows Mobile用Java SE対応JVM「Mysaifu JVM」の開発者に聞く | スラッシュドット・ジャパン
http://slashdot.jp/story/09/02/24/0315248
このソフトウェアあるいはプロジェクトについて誇れるところは?
Windows Mobile上でJava SEをサポートする数少ないJava仮想マシンという点です。
また、いろいろなライブラリをWindows Mobileに移植しています。
クラスライブラリであるGNU Classpathを始め、libxml, libiconv等を移植しています。
JVM本体の開発に一番重宝しているのがkmmallocというライブラリです。
これはヒープのエラーチェックを行ってくれるメモリ管理ライブラリで、Mysaifu JVMではmalloc()/free()をkmmallocで置き換えています。
確保した領域を超えた部分にデータを書き込んでしまうような厄介なバグは、該当箇所をなかなか見つけにくいのですが、kmmallocはすぐに検知してくれます。
0900デフォルトの名無しさん
2014/08/14(木) 12:23:46.82ID:xlLN/xxE俺的には「やりたいように勝手にやれ」だな。
ただ、リアルで付き合うなら、必ずfreeする奴と友達になりたい気はする。
free要らないって言ってる奴は、それなりにもっともらしい事を言うんだけど、実はその場しのぎのテキトーな思考な事が多いんだよなー。
後から良くわからんバグ出すのもこのタイプの人間が多いし、正直仕事の同僚としたくないタイプ。
すまん、論点をずらしてグチった。
0901デフォルトの名無しさん
2014/08/14(木) 12:25:14.53ID:jDhN7lgE>やっぱり、malloc()した側が、そのメモリの状態を知っているので、
>その人が最後まで管理するのが自然
まあね
この原則は win32api にもよくあるしね、最初のコールで必要領域を教えてもらって、それを使って確保してから、確保先ポインタを二回目のコールで渡す、とかね
でもこの原則は縛りがきつすぎて正直嫌い、malloc() したものが、延々と他の関数を渡り歩いていろいろ弄られるのもありだと思うんだ
0902デフォルトの名無しさん
2014/08/14(木) 12:29:20.55ID:3NEVz360私も、それぞれが好きにmalloc()して、お互いに使い回して、最終的に
アプリ終了時に抜かりなくOSが開放して帳尻あわしてくれるというなら、
それでいいっすw
0903デフォルトの名無しさん
2014/08/14(木) 12:41:08.75ID:Rhqauv2C>最終的にアプリ終了時に抜かりなく
自 分 で free() し ろ
0905デフォルトの名無しさん
2014/08/14(木) 12:57:20.96ID:mYwSdCAJ1、「freeが必要になる状況」を想定できずに「free関数自体が不要」と言い出す
2、「free関数自体は必要」を「mallocした領域全てでfreeが必須」と曲解して「free不要」なのだと主張を変える
1は論外だし、2は間違っては居ないけどミスを減らす為にも普通にfreeできるやつはfreeしたほうが良いし、
「free不要」なんてお題目は有害無益だと思うけどねぇ…
0906デフォルトの名無しさん
2014/08/14(木) 13:13:53.74ID:3NEVz360あんたは何もんだよ
そんでもって主張はどっちだよ?
0907デフォルトの名無しさん
2014/08/14(木) 13:33:48.04ID:3NEVz360◆QZaw55cn4cというやつはこれまでも見かけたことがあったが
2面性のあるとんでもないやつなのか
0908デフォルトの名無しさん
2014/08/14(木) 13:56:25.40ID:MeOL7pvQ> 1、「freeが必要になる状況」を想定できずに「free関数自体が不要」と言い出す
こんな事言ってる奴はいない。
> 2、「free関数自体は必要」を「mallocした領域全てでfreeが必須」と曲解して「free不要」なのだと主張を変える
これもいない。
いるのは、
3、「いかなる場合でもfree関数自体は必要」と主張する狂信者だけだ。
0909デフォルトの名無しさん
2014/08/14(木) 14:03:42.08ID:xlLN/xxE程々に自分の信念に従いつつ、他者にも寛容で、例外にも柔軟に対応できる姿勢こそが重要と思ってる。
そんな俺からすると宗教論争なんて「何それ美味しいの?」状態やわ。
それでもリアルで付き合うならmallocしたらfreeを出来るだけ心がけている信念の持ち主だけどね。
0910デフォルトの名無しさん
2014/08/14(木) 14:05:30.77ID:xlLN/xxEなるほど!
そういう事かー。
俺も、こいつなんかスジが通ってないなーって思ったけど、自演なら納得いくわ。
0911デフォルトの名無しさん
2014/08/14(木) 14:18:23.09ID:MeOL7pvQバカは黙ってろ。
0912デフォルトの名無しさん
2014/08/14(木) 14:21:40.59ID:3NEVz360あんたは感情的な文句しかいってないので黙ってなさい
0913デフォルトの名無しさん
2014/08/14(木) 14:26:37.34ID:MeOL7pvQ必要なのは信念じゃなくて合理的判断。信念でプログラムするバカは死ね。
0914デフォルトの名無しさん
2014/08/14(木) 14:33:21.99ID:jDhN7lgE一応売れない芸人なもんで、芸をかまさないかんときには、後先考えずについ >>904 とやっちまうんだ‥‥
でも、>>896 >>901 は本音だよ
0915デフォルトの名無しさん
2014/08/14(木) 14:37:15.40ID:xlLN/xxE気が合うじゃないか?
合理的判断いいね。
合理的に判断すると、ちゃんとfreeしてくれる人と付き合う方が自分の身のためなんだよね。
0916デフォルトの名無しさん
2014/08/14(木) 14:39:11.31ID:a9fNUb2/お前のレベルの低さがよく分かる
周りが迷惑だからチンコ切って逝ってくれ
0917デフォルトの名無しさん
2014/08/14(木) 14:39:44.66ID:i8Ph/y/2ブーメラン乙
オマエはその自らが語る合理的判断とやらに信念を持っている
信念は別に良いが押しつけはウザい
0918デフォルトの名無しさん
2014/08/14(木) 14:46:17.39ID:xlLN/xxEちゃんと動くもの作ってくれれば。
そこで何で信念とか書いたかというと、それはリアルで同僚として付き合う場合の話。
信念無き合理性は、その場しのぎのパッチワーク化するんだよ。
はっきり言うと、その場で自分の労力をケチるだけが目的で、他人が後々尻拭いするはめになる事が多いだわ。
すまん、また愚痴った。
0919デフォルトの名無しさん
2014/08/14(木) 14:48:54.98ID:LJ/HGjMiexit する時でも freeは必要だよ派:
exit時に free されない環境がある以上、free は必要とするのが包括的な解釈として正しい。
exit する時に freeは不要だよ派:
free しなくていいケースにまで free が必要という主張はおかしい。
今回は、ちょっと流れを見てないけど(ノ∀`)
0920デフォルトの名無しさん
2014/08/14(木) 14:49:59.29ID:MeOL7pvQ見苦しいいいのがれすんな 主語が入れ替わってるぞ。
>>909 お前が、アホな信念の持ち主とつきあう
>>915 お前が、合理的に判断する
>>917
バカ? 死んだ方がいいぞ。
0921デフォルトの名無しさん
2014/08/14(木) 14:55:02.69ID:3NEVz360exit時にfreeされない環境(OS)があるの?
>>920
ハウス!
0922デフォルトの名無しさん
2014/08/14(木) 15:08:17.82ID:xlLN/xxE言い逃れではなくて皮肉なんだが…
まいったなぁ、もしかして、そういう行間が読めない人なのかな?
0923デフォルトの名無しさん
2014/08/14(木) 15:24:59.02ID:0kGyXnFaわろたw
もうそれいじょうそいつの相手しても何の得もねえぞw
しかも>>886とか言いながらのそれだから
生まれもっての知ったか野郎よそいつは
0924デフォルトの名無しさん
2014/08/14(木) 15:36:19.15ID:sq+uQd00組込み系だと free されない環境(OS)はザラにある
UNIX/Windows等の汎用OSなら自動的に free されるけど:
・カーネル空間では(=デバドラ開発時等は)free されない
・メモリではないけど、アプリでもセマフォや共用メモリといった
SystemV系UNIX 由来のOS資源は free されない
だから、アプリで明示的に free しなくてもいいケースは多くて、
そういったプロジェクトであれば free 無用論は正しい判断
ただし、必要に応じて(=必要性を見抜いて)適切なコードを実装できる
技術力を磨くことは、Cプログラマにとって重要な事柄だと思う
0925デフォルトの名無しさん
2014/08/14(木) 15:37:48.20ID:LJ/HGjMi>exit時にfreeされない環境(OS)があるの?
ごめなさい、これについては自分はノーコメントとさせてください。
ここを問題にすると、大昔の fj.comp.lang.c のように議論が発散して
カオスになってしまうので><;
0926デフォルトの名無しさん
2014/08/14(木) 15:48:06.93ID:UKa3zRV/hosted と freestanding environment でカタがついてる
0927デフォルトの名無しさん
2014/08/14(木) 15:56:57.06ID:MeOL7pvQ信念でプログラミングする底辺は黙ってろ。
0928デフォルトの名無しさん
2014/08/14(木) 16:15:39.31ID:3NEVz360ありがとうございます
私の方針としては、
Unix/Windows OSで、Cによるソフト開発する際にmalloc, calloc, reallocしたときはfreeする
ただ、freeし忘れても気にしない
ということにします
0929デフォルトの名無しさん
2014/08/14(木) 16:22:36.43ID:MeOL7pvQ0930デフォルトの名無しさん
2014/08/14(木) 16:28:53.22ID:vio0lUwM{
void * ptr = malloc(SIZE_WHAT_YOU_NEED);
for (;;) {
some_processes(ptr);
}
/* どうせループを抜けられないからfree()は割愛。 */
/* ループを抜けるケースができたがどの途終了間際なので割愛。 */
/* 教条主義者が五月蠅いので追加。 */
free(ptr);
return 0;
}
0931デフォルトの名無しさん
2014/08/14(木) 16:28:54.93ID:qppS6X9hメモリリークするから。
しかしwebサーバーなど連続稼働させるものでなく、目に見えて、体感できて
メモリリークが確認されなければしなくてもいい。
int型の確保でも10回だったら不具合はないが、1000万回free忘れれば体感するだろ。
0932デフォルトの名無しさん
2014/08/14(木) 16:36:17.51ID:3NEVz360当初のポリシー通り、自分でmalloc()したものは普通にfree()するわ
以上
0933デフォルトの名無しさん
2014/08/14(木) 16:53:10.04ID:jDhN7lgE0934デフォルトの名無しさん
2014/08/14(木) 17:38:42.09ID:vio0lUwM0935デフォルトの名無しさん
2014/08/14(木) 17:51:00.92ID:FBUeKmY4そこら辺の事については書かれていたりしないんですか?
0936935
2014/08/14(木) 17:52:12.48ID:FBUeKmY4×そこら辺の事については書かれていたりしないんですか?
○そこら辺の事については仕様書とかに書かれていたりしないんですか?
0937デフォルトの名無しさん
2014/08/14(木) 19:17:29.88ID:EcJA/eZWそれ、配列で良くね?
0938デフォルトの名無しさん
2014/08/14(木) 19:41:10.95ID:MeOL7pvQ痛々しいから無理して参加するな。
0939デフォルトの名無しさん
2014/08/14(木) 20:02:58.76ID:rbJt+feP> ただ、freeし忘れても気にしない
いかんがな
必要があるんならfreeしろやフツーに
狂ってんの?
freeしなくていい場面で、単にしないだけ
freeしたい場面で、し忘れるのはド素人
0940デフォルトの名無しさん
2014/08/14(木) 20:17:47.82ID:q/LLkOD6freeするなら、malloc失敗対処のコードを追加した方がいい。
又は、freeしない。
0941デフォルトの名無しさん
2014/08/14(木) 20:33:50.81ID:jDhN7lgEfree(NULL)の挙動を調べてみよう
0942デフォルトの名無しさん
2014/08/14(木) 20:36:51.30ID:MeOL7pvQ痛々しいから無理して参加すんな。
0943デフォルトの名無しさん
2014/08/14(木) 20:39:34.37ID:UKa3zRV/失敗したら NULL が返るから free しても問題ない
some_processes が NULL で変なことしないなら OK
0944デフォルトの名無しさん
2014/08/14(木) 20:41:10.81ID:3NEVz360てめーみてーなうぜーのがいるから、>>932に書き直したんだよ
自分の前レスぐらいちゃんと読んでから書き込めやカス
0945デフォルトの名無しさん
2014/08/14(木) 20:45:22.01ID:YwnlFQd4お前はただ、周回遅れを自覚しろ
0946デフォルトの名無しさん
2014/08/14(木) 20:48:33.78ID:MeOL7pvQ0947デフォルトの名無しさん
2014/08/14(木) 20:53:46.38ID:3NEVz360>>883
>>892
>>897
>>908
>>911
>>913
>>920
>>927
>>929
>>938
>>942
>>946
0948デフォルトの名無しさん
2014/08/14(木) 21:00:53.75ID:MeOL7pvQ0949デフォルトの名無しさん
2014/08/14(木) 22:18:34.48ID:wROGfWf+常駐プロセスや作ることになったら、ちゃんとしろよ…
>メモリ管理に対する意識
0950デフォルトの名無しさん
2014/08/14(木) 22:20:07.50ID:CKm4h8Cf0951デフォルトの名無しさん
2014/08/14(木) 22:39:02.78ID:sq+uQd00ム板に強制ID表示が導入されたのは、大正解だったねw
0952デフォルトの名無しさん
2014/08/14(木) 22:49:23.26ID:MeOL7pvQ>>880
ID:jDhN7lgEはQz 信用しちゃダメ
実装依存でデリファレンスしてはいけないポインタを返す(NULLかもしれないし、
そうじゃないかもしれない)
>>951
うん、QzやGCでドヤ顔するアホを簡単に識別できる。
0953デフォルトの名無しさん
2014/08/14(木) 23:59:29.27ID:YUeJKR8t>>942
0954デフォルトの名無しさん
2014/08/15(金) 00:15:48.06ID:06IqYKhNhttps://developer.apple.com/library/ios/documentation/general/conceptual/DevPedia-CocoaCore/Art/memory_management.jpg
0955デフォルトの名無しさん
2014/08/15(金) 00:27:22.41ID:e0ujQLO6ID: 06IqYKhN
は
ID: MeOL7pvQ
です
日付が変わっても、うざく登場し、皆様にはご迷惑をおかけ致しますが
何卒ご配慮のほどお願い申し上げます
0956デフォルトの名無しさん
2014/08/15(金) 00:42:10.63ID:06IqYKhN自信たっぶりに「めんどくさいながらちゃんと考えられた仕組みではある」と紹介したんだろ。
恥ずかしがるなよ。
0957デフォルトの名無しさん
2014/08/15(金) 01:00:16.90ID:19rSkqot俺にそのコードで何かを伝えようとしているようだけど
多分君がそれを見せたい相手は俺とは別人のようだよ
0958デフォルトの名無しさん
2014/08/15(金) 01:10:09.43ID:fhr+NllpGCやメモリ管理のウンチクを語ることが生き甲斐である
ID: 06IqYKhN(= MeOL7pvQ)にとって、
>>893 が示した図(>>954)がよほどの屈辱だったのだろね
10の言葉よりも1枚の絵のほうが説得力があるのはよくある話
ID: 06IqYKhN が >>955 を否定しなかったという事実は、
>>947 で示された昨日の ID: MeOL7pvQ の行動が
彼本人によるものだったことを実証している訳で、
今となってはその判断には慎重さが足りなかったと言うしかない
粘着は程々にしろよとは思うけど、ここは 2ch なんだし、
気の毒な彼を生暖かく見守ってあげればいいんじゃまいかと思われ....
0959デフォルトの名無しさん
2014/08/15(金) 01:18:22.83ID:06IqYKhNこれが屈辱 wwww おつむの程度が知れる。 wwww
0960デフォルトの名無しさん
2014/08/15(金) 03:20:26.28ID:C1TsWSjw0961デフォルトの名無しさん
2014/08/15(金) 03:53:04.47ID:1yOnOTpl>>878 >>876 >>942
ID:MeOL7pvQ = ID:06IqYKhN
>>951
0962デフォルトの名無しさん
2014/08/15(金) 03:55:37.90ID:HK6rf5jPhttp://www54.atwiki.jp/qzaw55cn4c/pages/17.html
http://www54.atwiki.jp/qzaw55cn4c/pages/16.html
0963デフォルトの名無しさん
2014/08/15(金) 05:11:59.55ID:1yOnOTplそれテンプレートにいいね
C++のにもあるしね「それで教えたつもりかうむごくろう」みたいなやつ
そろそろ次スレはどうだい?
0964デフォルトの名無しさん
2014/08/15(金) 05:58:43.42ID:ZaXPBhtE0965デフォルトの名無しさん
2014/08/15(金) 07:46:14.43ID:Refxkepy0966デフォルトの名無しさん
2014/08/15(金) 08:06:36.08ID:1yOnOTpl0967デフォルトの名無しさん
2014/08/15(金) 08:28:34.10ID:06IqYKhN本日のQzはID:HK6rf5jPか
0968デフォルトの名無しさん
2014/08/15(金) 19:12:44.82ID:1yOnOTplいいえ、ID:1yOnOTpl なのです。
最近必死チェッカーの調子は悪いね
0969デフォルトの名無しさん
2014/08/16(土) 02:13:19.07ID:nQiWsyllいいかげんCから卒業しろ
0970デフォルトの名無しさん
2014/08/16(土) 03:26:13.63ID:LqzQwTxGhttp://peace.2ch.net/test/read.cgi/tech/1313183984/768
0971デフォルトの名無しさん
2014/08/16(土) 03:57:25.73ID:noAQ/N6wキャストは左シフトがわかれば、何ら問題はない
unsigned char c;
unsigned n = 0xff;
c = (char)n;
n >> 3;
sizeofは型のときのみカッコでくくる
fgets(foo.buf, sizeof foo.buf, stdin);
p = (struct S *)malloc(sizeof(struct S));
constは
const int *foo;
int const *foo;
int * const foo;
const int * const foo;
int const * const foo;
のように、実に多種多様な形をとるので諦める
0972デフォルトの名無しさん
2014/08/16(土) 11:51:02.00ID:xGOV3cHH・キャストは左シフト云々
意味が分からん。キャストと左シフトに何の関連があるんだ。
・sizeofは云々
うん、これはまぁどうでもいいや。
・constは云々
諦めるって何だよw
そもそも、const int * fooとint const * fooは同じだが、
int * const fooとint const * fooは別物だぞ。
0973デフォルトの名無しさん
2014/08/16(土) 12:26:38.21ID:OEbTMwcs初心者wはだまってメモ帳にでも書いてろ
0974デフォルトの名無しさん
2014/08/16(土) 12:52:36.01ID:nQiWsyll0975デフォルトの名無しさん
2014/08/18(月) 14:00:24.27ID:892n+SiVmallocしたらちゃんとfreeしないとすぐ死ぬ。
そんなことは置いといて、constは直後の1つだけしか修飾しないと覚えればいい。
そうすればどれとどれが同じとか考えなくていい。
0976デフォルトの名無しさん
2014/08/19(火) 08:47:06.61ID:Mliou7o70977デフォルトの名無しさん
2014/08/19(火) 09:05:57.16ID:sySXWyjv0978デフォルトの名無しさん
2014/08/19(火) 09:06:27.72ID:68cY/vKeなんていうOSだ?
0979デフォルトの名無しさん
2014/08/19(火) 14:18:02.25ID:puCvM3PA0980デフォルトの名無しさん
2014/08/19(火) 18:57:52.33ID:DKoHwpCpOSEK/VDX
0981デフォルトの名無しさん
2014/08/21(木) 14:07:33.44ID:Xx+xsjAi全くわかっらん・・・orz
どうすればいい?
0982デフォルトの名無しさん
2014/08/21(木) 15:04:21.88ID:HANJarNwサンプルをいろいろいじって自分の体で「理解」しないと
ま、俺もそうなんですが w
0983デフォルトの名無しさん
2014/08/21(木) 21:48:23.11ID:kAWBaRyW1年間に出る問題の数は700問だった
1日たったの2問
0984デフォルトの名無しさん
2014/08/21(木) 21:50:07.17ID:S6UF3tIm0985デフォルトの名無しさん
2014/08/21(木) 22:52:27.64ID:BmcMS01r実行結果が、画面だけだと実感無いからねー。
Raspberry Piみたいなワンボードコンピュータ買ってハード動かすとかしてみたら?
0986デフォルトの名無しさん
2014/08/21(木) 22:54:48.74ID:YGjTxNbP0987デフォルトの名無しさん
2014/08/22(金) 08:09:30.13ID:C1VpVNeJ何か世の中の役に立つソフトウェアでも作れたの
0988デフォルトの名無しさん
2014/08/22(金) 09:11:22.94ID:mL6N5s5Z0989デフォルトの名無しさん
2014/08/22(金) 16:42:50.04ID:uy14AgDhfor(条件)for(条件)for(条件){処理; 処理;}
これは
for (条件) for (条件) for (条件) { 処理; 処理; }
のように10個の部分に分けられると思うんですが、どうやって後戻りするんでしょう?
0990デフォルトの名無しさん
2014/08/22(金) 16:48:03.20ID:g5OyREW20991デフォルトの名無しさん
2014/08/22(金) 16:49:15.93ID:uy14AgDh今どの部分の処理をしてるかってのをポインタで表してます
例えばポインタが3行目の4、10なら
3行目の4〜10までの処理をしてることです。
0992デフォルトの名無しさん
2014/08/22(金) 16:49:46.96ID:uy14AgDhgotoとかですか?
0993デフォルトの名無しさん
2014/08/22(金) 16:53:17.13ID:uy14AgDh0994デフォルトの名無しさん
2014/08/22(金) 16:54:50.83ID:uy14AgDh1上処理
2for
3(処理)
4{処理}
0995デフォルトの名無しさん
2014/08/22(金) 16:55:31.37ID:g5OyREW2こりゃ...
0996デフォルトの名無しさん
2014/08/22(金) 16:59:22.10ID:n13/cLZkインタプリタをCで記述したいって欲求なら yacc なり使うとか
再帰下降型の構文解析について調べるとか そういう話になるのでは
0997デフォルトの名無しさん
2014/08/22(金) 18:38:39.44ID:uy14AgDh0998デフォルトの名無しさん
2014/08/22(金) 18:53:17.24ID:g5OyREW20999デフォルトの名無しさん
2014/08/22(金) 19:26:46.72ID:Q7ExT4u41000デフォルトの名無しさん
2014/08/22(金) 21:07:01.37ID:PYD8lyoNC言語なら俺に聞け
http://peace.2ch.net/test/read.cgi/tech/1408709181/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。