C言語なら俺に聞け(入門編)Part 96
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2012/02/04(土) 03:01:40.24★前スレ
C言語なら俺に聞け(入門編)Part 95
http://toro.2ch.net/test/read.cgi/tech/1326459906/
★過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 156代目
http://toro.2ch.net/test/read.cgi/tech/1328276597/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
# サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
長くなりそうなコードはcodepadに貼り付けてもいいでしょう
http://codepad.org/
0237デフォルトの名無しさん
2012/02/08(水) 00:45:03.520238デフォルトの名無しさん
2012/02/08(水) 00:46:48.19えっ?おまえが書いたんじゃなかったの?w >>236
0239デフォルトの名無しさん
2012/02/08(水) 00:50:26.07http://en.wikipedia.org/wiki/High-level_programming_language
0240デフォルトの名無しさん
2012/02/08(水) 00:51:27.59ハードウェアよりであれば低級
Cが高級だったのは昔の話
0241デフォルトの名無しさん
2012/02/08(水) 00:54:45.23書いてあるけどね。。
In computer science, a low-level programming language is a programming language that provides little or no abstraction from a computer's instruction set architecture. Generally this refers to either machine code or assembly language.
0242デフォルトの名無しさん
2012/02/08(水) 00:55:04.67翻訳してるだけじゃねーか
しかもTalkで議論されてるw
0243デフォルトの名無しさん
2012/02/08(水) 00:56:59.15ど う で も い い
0244デフォルトの名無しさん
2012/02/08(水) 00:57:06.02いやいや、翻訳しただけだよもちろん、そう書いてあるよってだけだからw
0245デフォルトの名無しさん
2012/02/08(水) 00:58:13.06>>244は無視して
0246デフォルトの名無しさん
2012/02/08(水) 00:59:55.63乙
一般に低水準(低級)言語と言った場合は機械語かアセンブリ言語を指す
0247デフォルトの名無しさん
2012/02/08(水) 01:16:48.070248デフォルトの名無しさん
2012/02/08(水) 01:21:06.850249デフォルトの名無しさん
2012/02/08(水) 01:27:33.93どのようにすれば軽くなりますか?
また、ifよりswitchを使用したほうが重くなるのでしょうか?
http://codepad.org/KPVko90j
0250デフォルトの名無しさん
2012/02/08(水) 01:29:36.88うっせーバカ
0251デフォルトの名無しさん
2012/02/08(水) 01:31:49.96最適化オプションいれてみた?
-Osとか-O3とか
0252デフォルトの名無しさん
2012/02/08(水) 01:34:03.04http://stackoverflow.com/questions/5020246/how-low-does-c-go-as-a-low-level-language
こんだけ盛り上がる話題だぞ
0253デフォルトの名無しさん
2012/02/08(水) 01:36:05.840254デフォルトの名無しさん
2012/02/08(水) 01:36:53.530255デフォルトの名無しさん
2012/02/08(水) 01:50:47.06-Osや-O3とは何でしょうか?
特に最適化オプションは行っていません
0256デフォルトの名無しさん
2012/02/08(水) 01:53:34.37簡単に行ってしまえば、多少下手な書き方しても、コンパイラが
その処理の意味を理解して、一番無駄のないマシン語に書き換えて
くれるようにするオプションです
>>249程度のソースなら、最適化オプションを入れれば、
ifやswitchなどほぼ関係なくなります
0257デフォルトの名無しさん
2012/02/08(水) 01:54:13.89http://codepad.org/lFsULIT3
0258デフォルトの名無しさん
2012/02/08(水) 01:54:58.63了解しました
有難う御座います
0259デフォルトの名無しさん
2012/02/08(水) 01:55:43.81もうインデントとかしないで、1行にズラーと並べちゃえよw
0260デフォルトの名無しさん
2012/02/08(水) 01:56:17.42貴重なサンプル有難う御座います
0261デフォルトの名無しさん
2012/02/08(水) 01:56:29.95まともなコンパイラーで最適化オプション指定すれば条件分岐は全く使われないから
読みやすいコードを書くことに専念するべき。
switch分を使いたいのは、その条件文でフラグビット立ててジャンプテーブルを自作するのだろうか
可読性が損なわれるので現在のコンパイラーではやるべきでは無い。
0262デフォルトの名無しさん
2012/02/08(水) 01:58:33.22ヘボな上にセンスもないんだな。
0263デフォルトの名無しさん
2012/02/08(水) 01:59:26.98「おれってすげぇだろ」ってスレだったのかw
理解したwww
(このレスに対して返されるであろうレス)
この程度で凄いとか言ってるおまえは相当な低能だなwww
0264デフォルトの名無しさん
2012/02/08(水) 02:00:29.75センスもくそも、そんなfor内につっこむソース書くほうがセンスなしw
0265デフォルトの名無しさん
2012/02/08(水) 02:00:31.81重さうんぬんはプログラムを完成させてプロファイル取ってから考えればいい。
もちろん、あらかじめ何が問題になるか予想できる場合は対策はすべきだけどね。
0266デフォルトの名無しさん
2012/02/08(水) 02:02:33.21理解できないからってファビョるなよ。
0267デフォルトの名無しさん
2012/02/08(水) 02:03:49.47わかりました
読みやすさを優先させた方が良いですね
有難う御座います
0268デフォルトの名無しさん
2012/02/08(水) 02:06:14.90了解しました
有難う御座います
0269デフォルトの名無しさん
2012/02/08(水) 02:06:38.98> まともなコンパイラーで最適化オプション指定すれば条件分岐は全く使われない
なんてありえるのか?
0270デフォルトの名無しさん
2012/02/08(水) 02:07:05.67この程度が理解できないようじゃ話にならんだろw
そんなこと言うくらいだから高度な書き方だとでも
思ってるのか?もしかしてw
仕事ではやんなよ、読みにくいだけだからw
0271デフォルトの名無しさん
2012/02/08(水) 02:08:28.110272デフォルトの名無しさん
2012/02/08(水) 02:10:28.530273デフォルトの名無しさん
2012/02/08(水) 02:11:49.290274デフォルトの名無しさん
2012/02/08(水) 02:14:30.170275デフォルトの名無しさん
2012/02/08(水) 02:14:45.360276デフォルトの名無しさん
2012/02/08(水) 02:17:51.03>>275
お前もヘボいことばっか言ってないでちょっとは貢献したらどうだ?
0277デフォルトの名無しさん
2012/02/08(水) 02:20:40.69少なくともこれは貢献でも何でもない
ただの自己満ソース
自分で書いて一人でニヤニヤしてればいいのに
わざわざ晒して恥ずかしい
0278デフォルトの名無しさん
2012/02/08(水) 02:21:31.01日本語も読めないのか?
0279デフォルトの名無しさん
2012/02/08(水) 02:21:42.18そういうのは一人でLispとかでやっててください
0280デフォルトの名無しさん
2012/02/08(水) 02:24:36.72こんな書き方もできるんだぁ
すごーい
勉強になるわぁ
これでいいかな。。
0281デフォルトの名無しさん
2012/02/08(水) 02:27:40.62index = w;
index << 3;
index &= z
index *= ofset-of-functions
jmp [base-address + index]
0282デフォルトの名無しさん
2012/02/08(水) 02:41:52.07×index &= z
○index |= z
0283デフォルトの名無しさん
2012/02/08(水) 02:43:56.43あるんだったらなんてのか教えてくれ。
0284デフォルトの名無しさん
2012/02/08(水) 02:51:00.90index = w;
index << 3;
index |= z
address = addres_table[index];
jmp address;
0285デフォルトの名無しさん
2012/02/08(水) 03:57:03.99標準関数の呼び出しはコンパイラーの最適化オプションで一回の呼び出しにまとめられないので
出力文字列はバッファーに貯めて、最後に一度だけprintfを呼ぶべき
それによってコンパイラーが出来る最適化の範囲が大きくなる
速度にクリティカルなプログラムを書くなら、ifかswitchなどにこだわるより、
メモリーアライメントなどをよく勉強して効率のよいデーター構造は何かなどを
意識した方が良い。
0286デフォルトの名無しさん
2012/02/08(水) 06:22:05.470287デフォルトの名無しさん
2012/02/08(水) 06:41:44.730288デフォルトの名無しさん
2012/02/08(水) 06:47:20.880289デフォルトの名無しさん
2012/02/08(水) 06:49:27.900290デフォルトの名無しさん
2012/02/08(水) 07:00:04.960291デフォルトの名無しさん
2012/02/08(水) 07:15:31.950292デフォルトの名無しさん
2012/02/08(水) 07:23:29.970293デフォルトの名無しさん
2012/02/08(水) 07:34:32.99http://codepad.org/yNjC44pw
0294デフォルトの名無しさん
2012/02/08(水) 08:07:27.080295デフォルトの名無しさん
2012/02/08(水) 08:10:31.56【社会ニュース】 2012/02/07(火) 12:08
http://news.searchina.ne.jp/disp.cgi?y=2012&d=0207&f=national_0207_100.shtml
ワーキングホリデーで台湾に滞在する韓国人ブロガーの「JK」さんは、
現在生活している所が日本なのか台湾なのか分からなくなるほど、台湾には日本文化が浸透していると語った。
「ときどき台湾が日本なのか台湾なのか分からなくなる時がある。
なぜなら台湾には日本企業があふれているからだ」と述べ、台湾はどこに行っても日本のフランチャイズ店ばかりが目に入ると語った。
ブログには、台湾の繁華街に日本文化が浸透していること伝えるため、「和民」「ユニクロ」「三越」「ダイソー」など日本企業の看板が並ぶ台湾の街の写真を掲載した。
台湾が日本のように感じる要因として、多くの台湾人女性が日本のファッションや日本のヘアスタイルを取り入れていることや、
日本人観光客が多く日本語が飛び交っていること、漢字文化圏のため看板には漢字が使われていることなどを挙げた。
日本文化が定着するあまり、JKさんが日本人客に間違われるケースもあったという。「店員に英語で話しかけると、日本語で応対しようとしていた。
私がアジア人だから日本人だと錯覚したのだろう」とエピソードを紹介した。
台湾に進出する日本企業の中でも、JKさんが特に気に入っているのは必要なものがすべて揃う「ダイソー」だそうで、売られている多くの商品に日本語の説明書きがあるため、
やはり自分が日本にいるような錯覚に陥るのだと述べた。(編集担当:新川悠)
0296デフォルトの名無しさん
2012/02/08(水) 08:36:01.09初心者に糞ソースを常駐解答するスレです
0297デフォルトの名無しさん
2012/02/08(水) 08:52:27.65いまのうちにもっとたくさん台湾に日本の文化を継承してもらいたいね
0298デフォルトの名無しさん
2012/02/08(水) 10:25:43.54http://codepad.org/JQxv8o1s
0299デフォルトの名無しさん
2012/02/08(水) 10:51:06.34int main(){
int i;
char *s = "Fizz¥0Buzz";
for (i = 1; i <= 100; i++) {
if (i % 3 == 0)
printf(s);
if (i % 5 == 0)
printf(s + 5);
if (i % 3 && i % 5)
printf("%d", i);
putchar(' ');
}
return 0;
}
0300デフォルトの名無しさん
2012/02/08(水) 10:57:18.210301デフォルトの名無しさん
2012/02/08(水) 10:59:52.600302デフォルトの名無しさん
2012/02/08(水) 11:30:26.34printfに奇数アドレス指定すんなスットコドッコイ
0303デフォルトの名無しさん
2012/02/08(水) 11:44:50.19char *にそんな制限ないよ。
0304デフォルトの名無しさん
2012/02/08(水) 13:38:48.75printfにそんなしばりねーわ、このタコ。
お前1回休みな。
0305デフォルトの名無しさん
2012/02/08(水) 13:56:39.73奇数アドレスの参照発生で例外投げるとか、ペナルティで遅くなるとか
0306デフォルトの名無しさん
2012/02/08(水) 13:58:47.54今時奇数アドレスって言うのもアレだけどな。
0307デフォルトの名無しさん
2012/02/08(水) 14:15:22.32関数に渡すポインターのアドレスはCPUのメモリーアクセスアライメントに合わせろよ(w
memcpyのasmソースよく見ろって
0308デフォルトの名無しさん
2012/02/08(水) 14:26:49.840309デフォルトの名無しさん
2012/02/08(水) 14:31:05.98なんでmemcpyが出てくるんだよ。
どうせならprintf()のソースを見ろよ。
0310デフォルトの名無しさん
2012/02/08(水) 14:34:20.51影響なんてあるわけがない。
0311デフォルトの名無しさん
2012/02/08(水) 14:36:37.54駆け出しの頃にはよくある病気だから暖かく見守ってやりなよ
0312デフォルトの名無しさん
2012/02/08(水) 14:37:54.61printf は format 文字列のパースや引数列の文字列化作業なんで
1文字ずつ逐次やる(=1バイト単位で捜査する)しかないんじゃないの?
その捜査の過程でペナルティ発生させるような気配がするけど
0313デフォルトの名無しさん
2012/02/08(水) 14:45:29.760314デフォルトの名無しさん
2012/02/08(水) 15:10:17.42どう考えてもビットマスクするだろ
このスレは実務経験の無いアホばっかりだな
0315デフォルトの名無しさん
2012/02/08(水) 15:13:22.870316デフォルトの名無しさん
2012/02/08(水) 15:14:07.41で、printf()のソースは確認したのか?
0317デフォルトの名無しさん
2012/02/08(水) 15:18:11.04SSE/MMX 使った画像処理とかで、境界とそれ以外に場合分けして処理するぐらいなら実装したことあるけど
printf の実装をしたことがないのでなんとも
0318デフォルトの名無しさん
2012/02/08(水) 15:19:40.560319デフォルトの名無しさん
2012/02/08(水) 15:26:14.91RISC系だって実際の作業効率考えたらコンパイラに最適化を任せた方がいい。
たぶんSC/MPレベルのコントローラチップを想定してるんだろう。
0320デフォルトの名無しさん
2012/02/08(水) 16:18:42.84{
private m(){}
private b(){}
}
これをC言語で似たようにして書く方法はありませんか?
0321デフォルトの名無しさん
2012/02/08(水) 16:23:05.970322デフォルトの名無しさん
2012/02/08(水) 17:05:19.14ダイクストラ法で最短経路を
求めるプログラムを拾って改変したのですがエラーが出てしまいました
これの原因は何でしょうか?
0323デフォルトの名無しさん
2012/02/08(水) 17:07:44.00エラー行が赤くなってるんだから丹念に見ろよ
一つ目は18と21の間がカンマじゃなくてスペースになってるぞ
0324デフォルトの名無しさん
2012/02/08(水) 17:09:16.85自分がアホすぎて悲しい
ありがとうございました
0325デフォルトの名無しさん
2012/02/08(水) 17:09:44.08typedef struct {
struct MyVtbl *vtbl;
} MyClass *pMyClass;
typedef struct MyClass MyClass;
struct MyVtbl{
void (*m)(pMyClass);
void (*b)(pMyClass);
};
static MyVtbl myVtbl;
pMyClass MyClassConstructor(){
myVtbl.m = func_m;
myVtbl.b = func_b;
MyClass *pClass = malloc(sizeof(MyClass));
pClass->vtbl = &myVtbl;
return pClass;
}
void m(pMyClass this){}
void b(pMyClass this){}
0326デフォルトの名無しさん
2012/02/08(水) 17:11:12.60, が足りない
0327デフォルトの名無しさん
2012/02/08(水) 20:02:44.6232bit 乱数を出力してくれる系ならそれを 4つ組み合わせればよい。
それでだめな乱数もあるが、メルセンヌツイスタならほぼOKだ。
ggr メルセンヌツイスタ
0329デフォルトの名無しさん
2012/02/08(水) 20:23:31.780330デフォルトの名無しさん
2012/02/08(水) 21:36:00.840331デフォルトの名無しさん
2012/02/08(水) 21:55:45.18それ使えるならそれがベストだ
0332デフォルトの名無しさん
2012/02/08(水) 21:56:41.370333デフォルトの名無しさん
2012/02/08(水) 21:57:03.64ついつい組み込みの考えでレスを。。
0334デフォルトの名無しさん
2012/02/09(木) 00:30:19.610335デフォルトの名無しさん
2012/02/09(木) 03:00:15.300336デフォルトの名無しさん
2012/02/09(木) 03:06:16.66■ このスレッドは過去ログ倉庫に格納されています