トップページ⇒tech
1001コメント301KB

【初心者歓迎】C/C++室 Ver.49【環境依存OK】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2008/02/20(水) 12:33:41
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。
【前スレ】
【初心者歓迎】C/C++室 Ver.48【環境依存OK】
http://pc11.2ch.net/test/read.cgi/tech/1202141921/
【アップローダー】(質問が長い時はココ使うと便利)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
00021だけど2008/02/20(水) 12:36:25
> 【アップローダー】(質問が長い時はココ使うと便利)
> http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
このリンクを確認してみたけど、ダメリンク?
だれか使っている人いる?
0003デフォルトの名無しさん2008/02/20(水) 12:47:53
>>2
一度だけ使った事があるよ
複数ファイルに分けないと説明できない事があったので

あと、スレ立て乙
0004デフォルトの名無しさん2008/02/20(水) 12:49:31
newとか使ってきてて今さら思ったんですが

int hoge;
hoge = 1;
や
int hoge = 1;
なんかはどっかにint1個分の領域が確保されているわけですよね?
0005デフォルトの名無しさん2008/02/20(水) 12:57:15
あげとくよ
0006デフォルトの名無しさん2008/02/20(水) 13:08:36
>>4
ローカルスコープなら、まあほぼスタック
0007デフォルトの名無しさん2008/02/20(水) 13:09:40
>>6
なるほど・・・スコープを抜けたら破棄されるわけか
ああ、それでnewにはdeleteが必要なのかなるほどー
すごい納得ありがとうございいます
0008デフォルトの名無しさん2008/02/20(水) 13:12:42
ある言語のソースコードをCのソースコードに変換した後、
cstdioのsystem関数を使い、内部でbccを呼び出して
Cのソースコードをコンパイルするプログラムをつくったのですが、
コマンドラインからだとコンパイルが通るCソースコードが、
このプログラムを使ってコンパイルするとエラーが発生して通りません。

プログラムの一部です
--------------------------------------
string Command = "";
//略
if(system(Command.c_str()) == -1){
cout << "Error" << endl;
}
--------------------------------------

ここで、コンパイルが通るはずの"test.c"のようなファイルを作り、
Command = "bcc32 test.c"として実行すると、
「Error: 外部シンボル '_main' が未解決(C:\BORLAND\BCC55\LIB\C0X32.OBJ が参照)」
というエラーが発生します。

解決策をお願いします。

ちなみにこのプログラムはVisualC++2005Expressで作成しています。
0009デフォルトの名無しさん2008/02/20(水) 13:18:52
>>8
コマンドプロンプト上で
bcc32 test.c
は成功する?

もし、失敗するなら bcc32.cfg または ilink32.cfg の設定ができていない可能性あり
どうすれば設定すればいいかは検索すればすぐ分かるはず
0010デフォルトの名無しさん2008/02/20(水) 13:20:29
>>「Error: 外部シンボル '_main' が未解決(C:\BORLAND\BCC55\LIB\C0X32.OBJ が参照)」

main関数が無いって言ってるように見える・・・
001192008/02/20(水) 13:20:51
追記:エントリポイントを WinMain にするならコマンドラインオプション -W を追加しないといけない
0012デフォルトの名無しさん2008/02/20(水) 13:54:43
>>9
コマンドラインで bcc32 test.c は成功します。

あと、別に、
#include<cstdio>
void main(){
system("bcc32 test.c");
}
だけを書いたプログラムを実行したところ今度はtest.cのコンパイルが通りました。
■ このスレッドは過去ログ倉庫に格納されています