C言語なら俺に聞け! Part 〈56〉

このエントリーをはてなブックマークに追加
割れ厨発見( ・∀)人(∀・ )通報しますた!
953逆コンパイラ:03/05/23 20:14
EXEのファイルをCに戻る逆コンパイラソフトがあるかなぁ、おしえてもらえませんか。
954デフォルトの名無しさん:03/05/23 20:21
おまえら2chのCのFAQ作れよ。馬鹿ですか?
955カーニハン三世:03/05/23 20:49
>>953
「Cソースコード」⇔「実行形式ファイル」 の関係は、不可逆です。
956デフォルトの名無しさん:03/05/23 21:02
>>954
1.ネタニマジレスカコワルイ
>>955
不可逆だが、逆コンパイラがないわけではない。
ttp://www.itee.uq.edu.au/~cristina/dcc.html
958デフォルトの名無しさん:03/05/23 22:18
C言語勉強し始めたばかりのものですが
#include<stdio.h>

int main()
{
printf("ABC\n");
}

というプログラムをBorlandのC++ Compilerでコンパイルしようとしたのですが
bcc32 ファイル名(拡張子はc)っと打ったら
bcc32は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません
と出るのですがどうしたらコンパイルできるのですか?
なにぶん初心者なのでこんな事も解らず困ってますどなたか教えてください。
2chの人員で、可逆Cコンパイラ作るというのはどうだろうか。
>>959が主導して、2chの人員で、可逆Cコンパイラ作るならいいんじゃない?
962958:03/05/23 22:49
>>961
むむ??
どれが自分の症状か解りません・・・
どれを設定すればいいのですが?
ちなみにOSはxpです
>>962
IDE環境買え。もしくは専用スレに逝け。
>>905
>  良いコンパイラであればエラーを出してくれるかもしれないが、

エラーはないやろ。正しい文なんだから。
警告ぐらいはあるかも知れんが。

> しかし、初期値がその最大長を超えない事をチェックする必要があるため、

VC++ は、char a[4] = "abcd"; でエラーになるな。
でも、gcc 2.59.4 は、char a[4] = "abcde"; は警告出すのに、char a[4] = "abcd" だと何も言わない。
バグか ?

>>909
何わけわかのこと書いてんだ ?
マルチタスクと逆アセンブラ/デコンパイラってどうやったら混同できるのか知りたいもんだ。

>>916
ヒットしなかったらいらないでしょ ?
一旦確保したら (プログラムが終了しないと) OS にメモリーを返却しない処理系もあるし。

>>920-921
ハァ ? って感じなんだが...。
ホントにできるのか ?
ちょっとやり方書いてみてくれ。
それとも処理系依存のことを言ってるのか ?
965デフォルトの名無しさん:03/05/23 23:08
>>960,962
Windowsには95系とNT系があって、
95系・・・95,98,Me
NT系・・・NT,2000,XP
と分類される。つまり、XPはNT系。
だから、XPの説明がなければ、NTか2000の説明を読め。
966デフォルトの名無しさん:03/05/23 23:17
main(){
FILE *fp;char *file;char *str;

file=(char *)malloc(BUFSIZ*sizeof(char));

puts("File name?");
gets(file);
fp=fopen(file,"r");
if(fp==NULL){
puts("No such a file!");
}
else {
str=(char *)malloc(BUFSIZ*sizeof(char));
while(fgets(str,BUFSIZ,fp)!=EOF){puts(str);}
}
}

fgetsのところで、「移植性のないポインタ」と警告が出ます
どうすれば上手くいくか教えて下さい!
>>966
fgetsの戻り値が何か調べてみ
>>964
unix(Sun-OS)の話だけれど。
nmコマンドで変数のマッピングされているアドレスが得られる。
そこを巧く実アドレス(実際には仮想アドレス名訳だが)に変換すれば、
変数領域が得られる。

同じ理屈を使って関数アドレスを得、その関数をコールするのは実装した。
969デフォルトの名無しさん:03/05/23 23:25
>967
有難うございます、上手く出来ました
>>968
それを処理系依存という。Cでもなんでもねーだろ
>>968
思いっきり実装依存と言うことは、理解してるよね ?
972971:03/05/23 23:55
かぶった...。
>>964
> >  良いコンパイラであればエラーを出してくれるかもしれないが、
>
> エラーはないやろ。正しい文なんだから。
> 警告ぐらいはあるかも知れんが。

長い時は正しいけど、
短い時はエラー出ることが多いでしょ。

>>962
システムのプロパティの詳細設定内にある
環境変数ってボタンを押すべし。
あとは Windows 2000 とほぼ同じ。だった筈。
>>970-971
処理系依存でもやりたいことができればいいだけだろ。
>>919 が無理じゃなくて >>918 がやれる処理系はある。
>>974
その精神は立派なのだが、スレ違いだから言ってんの。
>>1読もうね。
『GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo!』
次スレヨ炉↓
>>974
> 処理系依存でもやりたいことができればいいだけだろ。

はぁ ? >>918 が Unix 使ってなかったら意味ないだろ。
あと >>918 はグローバル変数だけ扱えればいいなんて書いてないだろ。

まあ、こう言うことができるって言いたかったんだよな。
>>918
Python.h 使えばできそうな気もするけど、
詳しくないのでどこまでできるのか分からん。
>>918
C言語では eval は無理。

変数を動的に参照したいだけなら、ポインターを使えばよい。
プログラマーが使いたいだけなら、無理なので諦めるか別の言語にする。
ユーザーの入力を解釈実行したいのなら、インタプリターをリンクすればよい。


>>970 >>971

921 は 918 に答えて Unix でやったことがある。でも、一般的には不可能と書いている。
これに対して、 964 はやり方を書いて欲しいとレス
その回答が 968

スレの流れから処理系依存の話になっただけで、968 が非難されるいわれはない。
>>979
キティニマジレスカコワルイ
982964:03/05/24 10:25
>>979
> これに対して、 964 はやり方を書いて欲しいとレス

>>964 の最後の行見てる ?
基本的に処理系依存の話題は避けるのはここの常識と思う。(嫌と言うほど言われてる。)
まあ、>>968 を責めると言うよりも、処理系依存のことを書いた >>920-921 の時点で責められるべきもんだと思うよ。
しかも、実現内容は不完全だし、>>974 で逆切れしてるし。

普通の Unix プログラマなら >>968 ぐらいの内容は思いつくし、他の環境でも map ファイルとかから同じようなことはできる。
デバッグ情報にアクセスできれば、ローカル変数だって可能のはず。(デバッガはやってるからね。)

>>968 が責められるは、処理系依存云々もあるけど、そんなあたりまえの事を得意げに書いてると言うところにあるんじゃないの ?
>>982も当たり前のことを得意げに書いているように見える。
「はいはい、分かったから次スレで同じ話題で議論すんなよ」ということでファイナルアンサー?
985979:03/05/24 11:12
>>981
タシカニカコワルカタ
>>920は認識不足。
>>921はそれに対するフォロー。一般的に無理と答を出している。
>>964は得意げな煽り。
>>968は調子に乗りすぎ。
>>974>>968でもないのに突っ込む阿呆。
>>979が折角丸く収めようとしているのに更に得意げに書く>>982
>>986の分析をお願いします。
>>986は分析厨
最近、1000獲り合戦もなく、寂しい終わり方が多いですね・・・。
991デフォルトの名無しさん:03/05/24 11:57
記念カキコ
992.ある被害者:03/05/24 12:25
脳の「物理的」拘束から催される体感的自殺衝動に耐え、
常に歯をくいしばっていなければならず、シャワーを浴び
る事さえ困難で日常生活を送ることができません。一年と
三か月続いています。
脳の「物理的」拘束においては、脳を機能停止にすること
など簡単で、何百回と機能を停止され、殺害されかけまし
た。こんなことが許されてもよいのでしょうか?




























ここからはVBの質問を受け付けます。
でも、スレの残りが少ないから答えられないな。
おお、VB、VB。あなたはどうしてVBなの?よりによってM$家の方だなんて。
VBは元々Borland社が開発・販売を行っていたんだけど、今ではM$に乗っ取られてM$から発売されるようになったの。
997964:03/05/24 18:14
997
お(=^o^=) や(=^O^=) す(=^。^=) みぃ(=^-^)/~~
999
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。