もしかして、GCCのソースをどこかから落としてきて、Linux用のコードを吐くように
コンフィギュレーションしてWindows上で動作するLinux用のクロスコンパイラを
作ってやる必要があったりして・・・
ありがとです。
GCCをWindowsに移植したMinGW(Minimalist GNU for Windows)が
同梱されてるっぽいのですが、自分の環境を含めて、何か根本的な
ものが足りないのかもしれませんです。もうちょっと調べてみまーす。
>>750 MinGW は、「ウインドウで動作するオブジェクト」を出力するgccコンパイラで、
Mingwに付属しているライブラリファイルは、Windows用だよ。
おそらくボーランドは、「Linux上でWindowsのソフトを作りたいというニーズは
あっても、Windows上でLinuxのソフトを作りたいという人はおらんだろう」と、
考えたのではないだろうか(憶測)
752 :
750:2005/11/15(火) 16:26:53
× ウインドウで動作するオブジェクト
◯ Windows で動作するオブジェクト
ところで、オレはBuilderXをもっぱらLinuxで使っていて、クロス開発のことは
考えたことなかったけど、今ためしにメニューを見てみた。Linuxのほうだと、
メニューでは、Windowsで動作するオブジェクトを出力するコンパイラとして
MingwとBorland C++コンパイラが選べることになっているけど、実際には
インストールされてないっぽい。
クロス開発の環境は自分で整えろということなのかな。
747です。
みなさまに感謝感謝 m(__)m
754 :
デフォルトの名無しさん:2005/11/20(日) 09:37:23
755 :
デフォルトの名無しさん:2005/12/15(木) 21:57:38
>>511 私もDLLのデバッグにチャレンジしているのですが、
DLL内の関数でブレークする方法がわかりません。
exeとDLL両方のプロジェクトを読み込み、
exe側のプロジェクトから実行しているのですが、
これではいけないのでしょうか。
756 :
デフォルトの名無しさん:2005/12/19(月) 18:36:23
C++BuilderX て tasm32.exe がついている以外に
使い道ありますか?
gdbのフロントエンドとしてとても優秀。
758 :
デフォルトの名無しさん:2005/12/19(月) 21:35:57
GDBのフロントエンドって他にもあるよね。
DDDとかDev-C++とか。
どこかに使いやすさの比較サイトなんかないかね。
比較サイトは知らんけど、試した限り、CDT@Eclipseなんかよりずっとイイ
(つーかCDTがどうしようもなさ過ぎるか)
760 :
デフォルトの名無しさん:2005/12/22(木) 21:21:09
>>757 グローバル変数を式に入れないとウォッチできないのはgdbの仕様なのか?
ここで聞くのが適切かわからないのですが教えて下さい。
業務で、Linux上で動くPGを開発していますが、現状gcc+viという環境で
開発しています。H/WよりなコードやX11なコードは無くて、標準関数とシ
ステムコール位しか使いません。
こういう用途だとBuilderXか2005suiteだと考えてよいですか?
2005suiteの値段が結構いい感じなので自腹で買ってしまってもいいかと
も思っています。
>>761 BuilderXをちょっとだけ使ったという経験しかないから、まともなアドバイスでは
ないんだけど、とりあえずBuilderXをダウンロードして試してみたら?
C++BuilderX PersonalってもうDLできないのかな?
orz
764 :
デフォルトの名無しさん:2006/03/30(木) 23:02:09
私は Borland C++ 2005 Suite を買いました。
その中の C++BuilderX 1.8 は、コード補完ができるので気に入ってます。
765 :
デフォルトの名無しさん:2006/04/05(水) 16:24:05
MinGWで、
ポトペタ開発
出来まつか?
質問です(>_<)
初歩的な質問で申し訳ないですが、一つのプログラムの中にfile1.cとfile2.cがあるとしますね。
そして最初にfile1をコンパイル→プロジェクト実行したとします。問題なくメッセージペインに表示されたとして、次にfile2をコンパイル→プロジェクト実行したとします。
そしたら、メッセージペインはfile1を表示するんですけど、どうしたらfile2の実行結果を見れるのでしょうか?
期待age
さっさと教えろよヲタ共
アッヒャッヒャ!ヽ(゚∀゚)ノ見事に成功した!これぞ初心者つぶし!!
(´-`).。 oO(とか思ってるんだろうな
>>769は)
773 :
767:2006/05/07(日) 19:22:23
すごい事なってますね(>_<)
お願いしまーす・・・orz
>>767 プログラムは一つなんだから、実行結果は一つなはずだろ。
それとも file1.c, file2.c がそれぞれ一つのプログラムなのか?
775 :
767:2006/05/07(日) 20:23:04
>>774 あーすみません。文章ミスです。プロジェクトの中に2つのファイルです。すみません。
776 :
767:2006/05/07(日) 20:27:07
階層をかくと
project.cbx(プロジェクト)
|
|__
| |
file1.c file2.c
といった感じです。
777 :
767:2006/05/07(日) 20:41:25
プロジェクトの再ビルドを押すときちんとファイル数分コンパイルしてるのにプロジェクトの実行を押すと一番上にあるファイルしか
実行してくれないのはなぜーーーーーーーーーーーーーーーーーーーーorz
もちろん他のファイルをプロジェクトから削除して、目的のファイルだけ残せば、それを実行してくれるのですが、いちいちそんな事しないですよね?
kitai age
>>767 ひとつの.exeの中にmainがふたつあっても、ひとつしか実行されないが、そういうことじゃなくて?
>>780 共にmainを含むa.objとb.objのうち、片方がもう片方のシンボルを参照してたりしたら、リンカは両方をリンクしようとしてエラーを出すが、そうじゃなければ、リンカに先に渡す方が使われるんじゃないか?
じゃぁうっかり(static 付け忘れたとか)同じシンボルの関数をふたつ定義しちゃったとしたら、
どっちが呼ばれるかわからないってことか。 Borland 死ねって感じだな。
>>779 いや、そういう意味じゃないです。
ファイルは2個でも3個でもいいんですけど、プロジェクトペインの中に3個ファイルあったとして(feil1,feil2,feil3)
「プロジェクトの"再ビルド"」をおしますよね
すると、「ビルド状況 ファイル3」と状況ウィンドウが出て3つのファイルをビルドされますよね
そして、次に
「プロジェクトの"実行"」を押しますよね?
すると、「ビルド状況 ファイル1」とでて1つ(プロジェクトペインの一番上のfile.1)しか実行されないんですよ。file.2もfile3
はなぜかしてくれません。
しょうがなくプロジェクトペインの一番上のfeil1を削除したら、次にfile2が一番上にきくるから
その状態で"実行"をおしたらfile2の実行結果でます。file3はでないから、またプロジェクトペインの一番上にあるfile2をプロジェクトから削除して
file3を一番上にくるようにして、実行
そんな感じです。。。orz
あ、もしかして、一つのプロジェクトの3個ファイルがあっても"メイク"、"再ビルド"
をすると、一のEXEになってしまうんですか?
それで、一番上のfileのmainを読み込む?って事ですか?何度もすみません
>一のEXE
一つのEXE
何度もすみません・・・・もうダメポ(´・ω・`)
>>782 昔っから利用されてるテクニックだったりするよ。
LSI-Cなんかでは、処理を減らすための、
args, argcをパースしない版やエラー処理しない版の.objが提供されてて
一緒にリンクするようにしたら、スタートアップルーチンを置き換えてくれた。
>>784-785 フォルダを見てみな、ひとつしか.exeができてないと思うんだ、たぶん
複数のプロジェクトを作るという発想はないわけ?
>>787 すみません。Fileごとにexeをつくってくれてると思ってました。勉強させてもらいました。
c のファイルごとに作るのは obj
objをまとめたのが lib
それをリンカが exeにしてくれる
どっかで Borland C++BuilderX の最新版の日本語版、手に入りませんか?
書籍とかでもオッケーです。
サイトからはダウンロードできないみたいです。
宜しくお願い致します。
最新版は日本語化されなかった。
アメリカでは既に販売終了したが、日本ではまだ英語版が手に入る。
変なの。
初歩的な質問で申し訳ないのですが
builderXでコンパイルする時、スクリプト内にscanfやgetsの関数があると、
その前の行にprintfの関数があるとしてもそれを無視して先に入力を要求してきます。
つまり・・・
int a
printf("こっちを先に表示して欲しい");
scanf("%d",a);
printf("入力された数値は%d"です\n",a);
というスクリプトの場合はbuilderXでコンパイルすると
最初のprintfの文章を無視して入力を求められてるという事です。
どうすれば、最初にprintfの文章を表示させて次に入力・・と順番どおりに実行できるのでしょうか?
>>794 レスありがとうございます。しかしながらソース内にこの関数は2回目のscanf実行の時に\nがバッファに残っていて、
それを変数に代入して予期せぬ行動とありますので、違うみたいです(実際に試しました。)
scanfの前でfflush(stdout)してみれば
>>796 レスありがとうございます。思い通りの結果になりました。gets()でもなりました。
ありがとうございました。
hoshu