C言語なら、俺に聞け! <12>
■ このスレッドは過去ログ倉庫に格納されています
0001ウルトラハッカー 日下部陽一
NGNGいろいろな言語を極めたが、一番手になじむのはCだった。
Cのことならぜんてわかるから、疑問な点があったらオレに聞け。
だが、いちいちFAQに載った質問に応えるほど暇じゃない。
課題丸投げなら別スレにいけ。
・comp.lang.c Frequently Asked Questions
http://www.eskimo.com/~scs/C-faq/top.html
・C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
Cプログラマならこれを買っとけ。
・プログラミング言語C(K&Rと呼べば通だ)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/yfcbookshelf-22/250-3950205-1475419
K&Rで挫折するようなヤツはこれでも買え。
これでわからない、救いがたいヤツはあきらめろ。
・作ってわかるCプログラミング(アヒル本と呼べば通だ)
http://dennou.gihyo.co.jp/books/void_c/
http://www.amazon.co.jp/exec/obidos/ASIN/477411328X/qid%3D1005618315/250-3950205-1475419
・前スレ C言語なら、オレに聞け! <11>
http://pc.2ch.net/test/read.cgi/tech/1009499565/l50
0153デフォルトの名無しさん
NGNG0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNGちがう
中身は一緒
0157高校生
NGNG仮想関数テーブルとかリンカの修飾方法とかぜんぜんちゃうやん。
0158名無しさん
NGNG「ゴルァ」
http://www.j-wave.co.jp/special/livingintokyo/morley/cgi-bin/images/img20020128211936.wav
「ゴッゴゴゴッゴッ、ゴルァ」
http://www.j-wave.co.jp/special/livingintokyo/morley/cgi-bin/images/img20020128212016.wav
0159デフォルトの名無しさん
NGNG反論も多い言い方だろうけど、同意しとこ。
C言語にやたらと多機能なプリプロセッサを被せた物≒C++
0160デフォルトの名無しさん
NGNGワラタ
不可逆暗号でバイナリ化したら、データファイルの意味が・・・
0161デフォルトの名無しさん
NGNGDESをハッシュの一種と思ってる香具師ハッケーン
0162_
NGNGと思ったら俺がDQNだった。逝ってこよう
0163160
NGNGうお、指摘されて初めて知った・・・
↓読んで出直してきます。
http://www-6.ibm.com/jp/developerworks/security/010316/j_s-rijn.html
ワラテスマソ>>152
0164デフォルトの名無しさん
NGNGDESでもハッシュできるけど?
0165ん?
NGNG0166デフォルトの名無しさん
NGNG使えるね。
0167デフォルトの名無しさん
NGNGCRC はハッシュになるけど
0168デフォルトの名無しさん
NGNGどういうときに使うんだ?
ループに入る前に宣言しちゃえばいいんじゃないの?
0169デフォルトの名無しさん
NGNG関数呼び出しをまたいで状態を保持しておきたいとき。
0170デフォルトのななし
NGNGやたら読みづらいです
#defineマクロだけ展開してくれるツールみたいなものってありますか?
厨房ですまんです(;´Д`)
0171デフォルトの名無しさん
NGNGそのライブラリが参照しているリンクのエラーを
コンパイル時に確かめることは出来ますか?
それともそのライブラリを使ったプログラムを
作りコンパイルして確かめるしかないのでしょうか?
コンパイラはgccです。よろしくお願いします。
0172デフォルトの名無しさん
NGNGていうか、プリプロセッサとかテキストエディタで
できないと思っているのか?
0173デフォルトの名無しさん
NGNGリンクが動的ならプログラムを実行しない限りエラーするかどうかはわからない。
objdump や ldd 使って自分の環境ではエラーしないことは確かめられるかもしれんが。
0174170
NGNG出来るんですか!?
コンパイラのオプションを調べたけどそれらしいものが無かったです。
テキストエディタで手動で置換すれば出来るだろうけど・・
そういえば今まで気にしたこと無かったけど
「プリプロセッサ」ってなんだろう??????
0175171
NGNGそうですか。
libtoolとか関係ありそうなのでちょっと調べてみます。
ありがとうございました。
0176デフォルトの名無しさん
NGNGM-x c-macro-expand
0177デフォルトの名無しさん
NGNG読むほうにソース読み力が無い場合とあるからなぁ…
0178デフォルトの名無しさん
NGNGhttp://sources.redhat.com/autobook/autobook/autobook_toc.html
http://www.iecc.com/linker/
0179171
NGNGmakefileすら下手なの書くのが精一杯なのにこれ以上ツールを
覚えるのはしんどい・・・
でも#ifdefで分けてやるのもちょっとめんどくさくなってきました。
上の二つを覚えると楽できるんでしょうか。
0180デフォルトの名無しさん
NGNG私も知りたい。特にautomakeやautoconfの実践的な本
makeはオライリーのmakeの本で覚えた。
0181171
NGNGhttp://shimaki.hoops.ne.jp/autoconf/book1.html
今ここを見ていろいろといじってるところなんですが、
ちょっと気合入れて覚えないとだめですね。
ヘタレなおれは慣れるまでに2週間ぐらいかかりそうw。
0182171
NGNGどうでしょうか?
automake,autoconf,libtoolの三本立てで。
0183デフォルトの名無しさん
NGNGむしろ歓迎。
0184170
NGNGemacs使ってなくて
Windowsなんですよ。
Win環境で何かご存知使えるものは無いですか?
秀丸のマクロをあたったんだけど無いみたいです。
0185デフォルトの名無しさん
NGNGgccに展開させれば?
0186デフォルトの名無しさん
NGNG0187デフォルトの名無しさん
NGNG昔この板で立ってた気がするけど、あんまり盛りあがらなかった様な。
実際使ってるやつのリサーチとかしてみると良いと思われ。
大抵そういうやつは2ch見てないんだな・・・
0188デフォルトの名無しさん
NGNGLPBYTE lpData=new BYTE[sz];
このnewで不正な処理が発生するのですが、
考えられる原因は何がありますでしょか。
0189デフォルトの名無しさん
NGNGoperator size_t()内で強制終了するようなことをしてる・・・とか、まさか無いよね?
0190デフォルトの名無しさん
NGNG2000/XPでは大丈夫なのですが、9xでは全く駄目な様です。
0191デフォルトの名無しさん
NGNG0192電波5号
NGNGしんどい
なんでも聞けて
怒らない人いないかなぁ・・・・・
0193デフォルトの名無しさん
NGNGMr.Google。
0194デフォルトの名無しさん
NGNGどの段階で破壊されているのか調べる術はありますでしょか?
0195デフォルトの名無しさん
NGNGvc++なら、_heapchkをばらまく。
いずれにせよ、銀の弾丸は存在しない。
運が良ければ、BoundsChecker、Purifyなどの
境界チェッカ等が役に立つかも。
0196デフォルトの名無しさん
NGNGあ。。。その様な便利な関数が用意されていたんですね。。
問題が出る以前の所で確保しても逝く事が解ったので、
LogPut("********00..");
lpData=new BYTE[4096]; delete lpData
LogPut("ok\r\n");
をあらゆる所にばら蒔いて、なんとか発見・駆除出来ました。
有り難うございました m(_ _)m
0197デフォルトの名無しさん
NGNG同意。2chだと技術的に面白くても
厨房の食いつきが悪そうなスレはどんどん下がっていく。
http://www.ainet.or.jp/~inoue/gnu/autoconf.html
ここ読んで、そのあとに一冊だけあるまともな本を読めばいい。
あとはソースに必ず入ってるconfigure.in,Makefiel.amを
読みまくり、パクル。
0198デフォルトの名無しさん
NGNGわからないことがあったとき調べるんじゃなくて、
時間を作って通して読んどけ。
0199デフォルトの名無しさん
NGNG大学の先輩で、レポートの下調べも彼女にやらせて
口述で報告させてから自分で書く、とかやってる人が居て。ヽ(;´д`)ノ
首尾よく卒業して、就職して。
数年後、リコーン ヽ(´Д`)ノ
∴ うざうざな輩は嫌がられるらしい。
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNGあれはなんで何ですか?
char argv[]では配列のサイズが指定されていないから駄目なんですか?
0202デフォルトの名無しさん
NGNG配列と、ポインタの配列の違いは解る?
0203201
NGNG[]の方が*より優先順位が高いから
char *argv[]は配列に対するポインタじゃないんですか?
じゃあchar *argvでもいいような気がするんですが...
0204デフォルトの名無しさん
NGNGダメです。
だからその方法で受け取るととても不安定になります。
ウインドウズはそうやってC言語で作られている部分があるために
フリーズしやすく不安定です。
Linuxではvoid main()で作ってあるので頑丈です。
0205デフォルトの名無しさん
NGNG> char *argv[]は配列に対するポインタじゃないんですか
ポインタの配列です。
>>204
わけわからん事書くな。
0206デフォルトの名無しさん
NGNGなら argv[0] は文字列。 argv[1] は文字列。argv[2] は文字列…。
char* argv; じゃ全然ちゃうだろ。
0207201
NGNGレスありがとうございます。
確かにchar *argvじゃ駄目なことはわかりました。
だけどchar *argv[]がポインタの配列てのがよくわかりません。
ポインタの配列とは配列の要素がポインタであるものですよね?
じゃあ、argv[0]もargv[1]もポインタですか?
0208デフォルトの名無しさん
NGNGtypedef char* pchar;
pchar argv[];
こう書けば分かるか?
pchar = char*、charのポインタ
argv[] = pchar型の配列
0209デフォルトの名無しさん
NGNGひょっとして char * はポインタじゃないと思ってます?
0210201
NGNGうわっ!本当にありがとうございます。
優先順位てそういうことだったんですね。
やっとわかりました。
すっごいすっきりしました。
ありがとうございました。
0211デフォルトの名無しさん
NGNGCで制御系プログラムを組むのだが、
レジスタに値をセットするとき、
下記の(1)の様に関数にすると処理が遅くなってしまう。
SetRegister(Address, Data); ----- (1)
仕方なく、
Address = 0xXXXX; ----- (2)
*Address = Data;
とするのだが、見やすくするために、
出来れば(2)をマクロにして1行で書きたい。
これって可能?
基本的な質問で申し訳ない。
0212デフォルトの名無しさん
NGNG0213211
NGNG#define SetRegister(ADDR, DATA) Address=ADDR;*Address=DATA;
数年前、ARMのCコンパイラで動かしたらうまく行かなかったんだが、
なぜかBCCでは動いとる。
0214デフォルトの名無しさん
NGNG#define SetRegB(ADDR,DATA) *((unsigned char *)ADDR) = DATA
#define SetRegW(ADDR,DATA) *((unsigned short *)ADDR) = DATA
こにゃにゃかんじで。
0215
NGNGなんて書いてたころが懐かしいな。
0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNG0218213
NGNGな〜るほど、こう書けば良いのか。
どうもありがとう。
0219デフォルトの名無しさん
NGNGワードに揃えると聞きましたが、要するに2バイト単位で配置されるのですか?
0220デフォルトの名無しさん
NGNG処理系依存だ。
コンパイラスウィッチで変更できる処理系もある。
0221デフォルトの名無しさん
NGNG> 要するに2バイト単位で配置されるのですか?
16bitマシンの時代はそういう配置が多かったな...
> C言語で典型的な構造体のメモリ配置を教えてください。
で、知ってどうするつもり?
0222デフォルトの名無しさん
NGNG>で、知ってどうするつもり?
気になって仕方が無いのです。
書籍を読んでも構造体のメモリ配置について詳しく説明してるのには一度も出会った事は無いので。
0223デフォルトの名無しさん
NGNG勉強しろ
http://www.pro.or.jp/~fuji/mybooks/cpro/cpro.4.3.1.html
0224デフォルトの名無しさん
NGNG> 書籍を読んでも構造体のメモリ配置について詳しく説明してるのには
> 一度も出会った事は無いので。
Cプログラミング専門課程
4.3 アラインメントを読んで見ろ
http://www.pro.or.jp/~fuji/mybooks/cpro/index.html
0225デフォルトの名無しさん
NGNGメモリ配置について理解したいなら、C 言語ではなくて、その背景にあるプロセッサ
アーキテクチャについて調べる必要がある。Intel や MIPS あたりは Web で資料を
公開してるから、拾ってきて読んでみなよ。
0226224
NGNG0227デフォルトの名無しさん
NGNGこれからそれぞれ巡って勉強したいと思います。
0228デフォルトの名無しさん
NGNG「アライメント」などと書くバカがいるが,
「アラインメント」だ。
0229こんな本を買った
NGNGこれ、どうですか?
0230デフォルトの名無しさん
NGNGいい本ですよ。
0231こんな本を買った
NGNG辞書的な使い方ではなく、本の先頭から順にこなしていく使い方の方がいいですか?
0232デフォルトの名無しさん
NGNG0233こんな本を買った
NGNGそう言わずに教えてくれよ。
0234デフォルトの名無しさん
NGNGどう見ても「全部読む」タイプの本だろ。それは。
0235デフォルトの名無しさん
NGNGアライメント 26,900件
アラインメント 3,260件
正直ネイティブ発音に拘る奴って馬鹿にしか見えん
0236デフォルトの名無しさん
NGNGnValue = *((int*)p);
こう書くしかないでしょうか?なんかもっと簡単な記述ありましたっけ?
0237デフォルトの名無しさん
NGNG馬鹿
0238236
NGNG正: int*
0239デフォルトの名無しさん
NGNGもっとめんどい?
0240ギリギリのところに立ってる名無し
NGNGどなたか方針のヒントをください。
0241デフォルトの名無しさん
NGNGそれはポータビリティーが無いだろ。
0242デフォルトの名無しさん
NGNG仕様は?
0243デフォルトの名無しさん
NGNGどういう環境で仕様の電卓を作りたいか説明出来る?
0244デフォルトの名無しさん
NGNG確かに拘り始めたら、ファイルランチャーとか言えんくなるなw
0245デフォルトの名無しさん
NGNGそれで充分簡単じゃん
0246デフォルトの名無しさん
NGNG「ストレージ」モナー。
0247デフォルトの名無しさん
NGNG> 方針のヒントをください。
yacc lexで検索
または
int main(void){ return system("bc"); }
0248デフォルトの名無しさん
NGNG一応、括弧を一つ外せる。
nValue = *(int*)p;
>>241
ポータビリティのなさでは>>236も>>239も似たようなものだと思うけど。
まあ普通は>>239なんてことはやらんけど。
0249デフォルトの名無しさん
NGNGdata の発音は、ネイティブでもまちがってる率高いらしいしな。
0250デフォルトの名無しさん
NGNGGUI?
0252デフォルトの名無しさん
NGNG> ポータビリティのなさでは>>236も>>239も似たようなものだと思うけど。
ぜんぜん違う。
■ このスレッドは過去ログ倉庫に格納されています