1 :
デフォルトの名無しさん :
03/05/31 23:13
( `Д) /(ヘ っ )ヘ
乙
5 :
デフォルトの名無しさん :03/06/01 02:14
そんなんきょーびはやんねーんだよ。 今じゃあ、C#もVB.NETもただでつ。
7 :
デフォルトの名無しさん :03/06/01 02:30
>>6 Cは基本。
チミはVC#やVBしか使えないのか?
8 :
デフォルトの名無しさん :03/06/01 02:31
そんな燃料投下されてもナ
>>7 低レベルは相手にしないように…いや、高レベルの間違いか。
そいえばインラインアセンブラとかは使えないの?
11 :
デフォルトの名無しさん :03/06/01 15:47
12 :
名前は開発中のものです。 :03/06/01 15:59
bcc55 何かフリーのアセンブラが利用できるみたいなんだけど やったことある人いません?
13 :
デフォルトの名無しさん :03/06/01 16:02
>>12 できるの?
C/C++→アセンブラ言語なら
オプション-Sでできるけど。
14 :
デフォルトの名無しさん :03/06/01 16:23
Borland C++ Suite ってずいぶん安いけど XP のアプリも作れるのか? 商用利用は OK らしいから購入したいんだけどな。
15 :
デフォルトの名無しさん :03/06/01 18:35
>>14 Borland C++ 5.0Jが入ってるから、「XPでも動く」32bitアプリなら一応作れる。
でも、IDEはあるけどBCBみたいにビジュアルに開発できるものではないし
Win95以降に追加された機能には対応していない。
過去の開発ツールやTurbo Assemblerがほしい人向けだと思うよ。
安いっていっても \1,500あればVisual C++ .Net買っておつりがくるし。
>>15 それゼロ1個足り無くない?
タイプミスじゃなくて、俺の知らない方法で安くかえるの?
はっ!秋葉の露天(略
16 :デフォルトの名無しさん:03/06/02 00:53
>>15 それゼロ1個足り無くない?
タイプミスじゃなくて、俺の知らない方法で安くかえるの?
はっ!秋葉の露天(略
レスありがd APIを直接たたくんなら「XP対応の」ソフトも作れるとの理解でいいのかな。 Visual C++ .Net は商用利用できたっけ?
むしろ同梱のTP for win3.1を一度見てみたい罠。使いたいとは思わないけど
スレ違い。
>>19 >むしろ同梱のTP for win3.1を一度見てみたい罠。
変態.
*フロッピ1枚に収まる Windows GUI 開発環境
*下手したら、CPU のキャッシュに収まるバイナリ
*MS の翻訳が間に合わなくて、某日が独自に翻訳した Win32 API ヘルプ。当然文法は全部 PASCAL
*ResourceWorkshop じゃないツール。名前忘れたよ。
*Think-TCL の影響を受けた OWL
*TrueType が使えなかったので、ダイアログのフォントはユーザーカスタマイズ可能
TPW3.0 と 3.1 混ざっているかもしれません。
22 :
デフォルトの名無しさん :03/06/02 19:14
>>20 すみません、たしかにスレ違いでした。
答えてくれた人たちサンクスコ
bcc だけの料金で商用利用できるライセンス販売してくほしいな。
>>23 BCC32 コマンドラインコンパイラは、商用利用も可能でしょ?
そうでしたか。ライセンス読んでもはっきりと「商用」って書かれてなかったので。 アフォなので難しい文は理解できなんだです。
26 :
デフォルトの名無しさん :03/06/02 23:24
Borland C++ CompilerとBorland C++ Builderが混同されてる予感。
Linuxで、cc ○○.c とかやって、コンパイルしてる人も、Borland のコンパイラ使いこなせるでしょうか? Windowsでも、コンパイルできる環境がほしくて・・・。
>>27 bcc32 hoge.c で普通にコンパイルできるから問題ないと思うが、
MinGWやCygwin(両方ともgcc)を考えてみてもいい気がする。
linux使いならcygwinでいいんじゃない?
32 :
デフォルトの名無しさん :03/06/04 07:54
winそのままではGCC使えないんだ・・・・
cygwin上のプログラムって遅くない? Mingwの方がよさそうだけどmingwとbccはどうなんだろうな。 開発環境やGUIライブラリとかはどうなってんだろ。 他のフリーなコンパイラに比べての利点ってある?
リソース周りはbccの方が素性がいいかも。 cygwin/mingwでもwindresで頑張れないことはないけど。 各コンパイラのベンチマークってありましたっけ? 何年か前のCマガジンでちらっと見かけたような気はするけど 当時とは随分状況が変わってきてるし。
37 :
デフォルトの名無しさん :03/06/05 16:50
-W
>>1 おつです。
BCCでDirectXを使いたいんですけど、どうすればいいんでしたっけ?
すっかり忘れてしまった。
VC買うかなぁ。.NETとか意味わからんけど。
あ、思い出した。すまね。
44 :
デフォルトの名無しさん :03/06/11 00:31
>>42 どうやるんですか?
bccでDirectX9を使いたいんですが
Turbo Debugger 5.5 って登録するとき電話番号がいるけど 家に電話とか来たりするの? だったらいやなんだけど・・・
Windows\Systemにあるランタイムdllをimplibで変換してスタティックリンクするだけじゃ駄目なんですか?誰かー
48 :
デフォルトの名無しさん :03/06/11 22:47
Turbo Debugger 5.5の使い方が Hello World!のレベルの僕にも 理解できるサイトを教えてくだチャイ。
登録は適当な偽の番号入れとけばいいんだよ ああいうのに本当の住所とか入れるとサギにあったり 住所売られて変なところからダイレクトメール来たり 個人情報を売られて監視される場合とかあるらしいし ボーランドがつぶれそうになったら勝手にクレジットカードから金を引き出される場合もある
50 :
デフォルトの名無しさん :03/06/11 22:53
>>48 最初からデバッガ使わないほうがいいと思う。
とりあえず最初はprintfデバッグで精進せよ。
51 :
デフォルトの名無しさん :03/06/11 23:23
このコンパイラでCGI作りたい。 どうすりゃいい?
>>51 ぐぐれ。
コンパイルしたらcgiとして動くと思うが。
C++コンパイラインストールして ターボデバッガインストールして bcc developer インストールして HeLLO WORLD 実行して それから既に一ヶ月、一度も起動せずにDelphi Personal で遊んでる。 でもそのうち、きっとそのうち、いつか必ず、絶対に・・・。
BCCでDLL作ってdelで使いなさい!
俺も。なんだか環境作るのだけがすげー楽しかった。
研究室にVC++があるのにあえてこっちを使ってます。 とくに理由はないけどフリーでできたほうがカコイイ気がするから。
>>56 折角だから__propertyも使いましょう
59 :
先生!(AA略) :03/06/18 22:28
VCで作成されたスタティックライブラリは BCCからはどうやっても利用できないんでしょうか。 リンクできないとゆーかLib中の関数が見つからないと 言われるんだが・・・
スタティックはむりぽ
しょんぼり
eclipseでBCC + ターボデバッガー使える環境出来ないかねぇ。
>>49 >個人情報を売られて監視される場合とかあるらしいし
住所書く欄ありましたっけ?
>ボーランドがつぶれそうになったら勝手にクレジットカードから金を引き出される場合もある
語尾で誤魔化しているようだけど、根拠の無い憶測をばら撒かないようにね。
64 :
デフォルトの名無しさん :03/06/20 15:09
誹謗だけど事実だからな
DAKARA
49 を書いたものです。 匿名であることに図に乗り事実無根の記述をしたことを認め、ここに謝罪いたします。 49 の記事は一般的な個人情報流出の問題を、ボーランド社が行っているかのように誘導させる 悪意のある記述でした。現時点で 49 に書いたような行為をボーランド社が行っていることを 証明する事実を私は持っていません。
くすくす、不安になったんだね。
あまりに無知な者なのですが漠然とした質問をさせてください。 この無料で使えるコンパイラを使って最小限の知識だけで簡単なプログラミングが できないかと考えています。とりあえず、従来の旧式なANSI C(非C++)ライブラリと 最低限必要なWin32APIだけをWeb検索で探し出して利用し、まるで昔風のDOS プログラムの用なスタイルの非コンソール形Win32プログラムを作る事は可能でしょうか?
71 :
デフォルトの名無しさん :03/06/26 06:28
>>70 > まるで昔風のDOSプログラムの用なスタイルの非コンソール形Win32プログラム
ってのがよく解らんが、CUIもGUIも作成可能。
あおりだろ?ほっとけよ。
煽りならもっとわかりやすく煽ってくんないと
IDEのコンソール窓のことかなぁ
煽りではないです。わかり難くてすいません。 例えば昔のDOSプログラムでコンソールを使わないプログラム(例えば ファイルや通信関係等しか扱わない)の旧式のCソースが有ったとして、 それをほぼそのままコンパイルして使おうとするとWin9xなら DOS窓が開いてしまいますよね?要するにこれを避けたいんです…。 コンソールが自動的に開くのは実行ファイルの中のフラグかなんかに よるのかスタートアップかなんかによるのか知りませんけど…。 特に自前のウィンドウの必要性のないプログラムって割と有ると思うし、 凝ったUIが必要なら他のアプリを起動してそのウィンドウ借りたり WEBブラウザ使ったりしてもいいと思うので… そんな感じで昔風のスタイルと最低限の知識でまずはやってみたいのです。 まだ判りにくいかも…。
>>75 非コンソールプログラム(WinMain()からはじまる)として作って
ウィンドウを作らなければそうなる
>>75 コンパイル時に-Wオプションを忘れずにな。
78 :
デフォルトの名無しさん :03/06/26 22:25
>>78 ここで聞くより直接ページ作者にメールで問い合わせたほうが早いと思うけど…
回答があったらフィードバックよろしく。
80 :
デフォルトの名無しさん :03/06/27 00:10
BCCでGUI作れません。-wオプションで窓くらいはできるけど、 リソースとリンクしても、実行「不」可能ファイルにしかならないんす。 VCでソース&リソース作って、ビルド可能なのを確かめて、 BCCでやっても、だめ。実行可能ファイルはできるけど 実行しようとするとエラーが出る。なんでか知ってる人いる?
>>80 違うかもしれないが、BCCのver5.5はバグがあって、リンカでリソースをうまくリンクできない。
ver5.5.1にすれば改善される。
バージョンを確認するには、bcc32.exe をパラメーターを付けずに実行。
>>68 「ゴメンで済むなら警察は要らない」とはよく言ったものだな(w
>>80 >BCCでGUI作れません
詳細がわからんからなんともいえないが、google で探せば世の中に BCC で
GUI アプリを作っている人がいることがわかるだろうから、まずはそういったものを
参照してみてはどうだろうか。
>>87 プロンプトを開いたら、まず↓を実行すれ
cd "test.cがあるフォルダ"
88 :
デフォルトの名無しさん :03/07/12 11:24
makeの使い方ですが通常binにmake本体等がありますよね。 で、作業ディレクトリをビルドしたいんですがmakeにどうやってmakefileの場所 を教えたらいいんでしょうか? makeの詳細な使い方知ってる人あまりいないですね。
BCCDeveloper使ってるから知らない
>makefileの場所 パスを通すとか、そういうことじゃなく? make -fc:\hogehoge\mymake.mak
91 :
デフォルトの名無しさん :03/07/12 11:53
>>88 "make"と単独でコマンドを実行すれば、カレントディレクトリの"makefile.mak"を検索して、それを実行する。
>>90 のように、明示的に指定することも可能。
詳細は"make /?"でヘルプを表示するか"bcb5tool.hlp"を見ろ。
>>88 「makeの詳細な使い方」というより一般的な話だから誰も説明してないんじゃないの?
93 :
デフォルトの名無しさん :03/07/12 12:02
>>90 .makファイルに作業ディレクトリのパスを書くのではないのでしょか?
make -fc:\hogehoge\mymake.mak はコマンドラインですよね?
94 :
デフォルトの名無しさん :03/07/12 12:03
>>93 どこからmakeを使おうとしているんだ?
95 :
デフォルトの名無しさん :03/07/12 12:27
>>91 は知ってます
binからです
makefileには各ファイルがフルパスでは書いてないです
まさかダブルクリックとかD&Dとかしようってんじゃ
makeについては素人意見だけどさ、いくらmakefileにパス書いても make.exeにmakefileを渡せなきゃ意味ないんじゃないの?
98 :
デフォルトの名無しさん :03/07/12 12:53
やっぱmakefileはmakeと同じ場所に置かんといかんかなー? と、
99 :
名無し@沢村 :03/07/12 13:47
ただで使えるC++Builderってないの?
C#Builderは只
bcc5.51をインストールしたんですけど、肝心のbcc32.exeが ありませんでした。どうしたんでしょうかね?
103 :
デフォルトの名無しさん :03/07/12 23:35
>>99 DelphiはエディタでC++の構文強調表示ができるし、
bcc32 -vでコンパイルしたらC/C++をソースレベルデバッグできるぞ。
これ知ってからVC++、BCB共に買う気を無くした俺。
>>104 そーゆー変態プレイを一般人に薦めるなよ。
>>103 環境変数のだよ。
インスツールしたフォルダへのパスをセッツして!
もひかして、セットしてんのにbcc32が見えないんだとしたら
ダウンロードが失敗してるだけじゃねーの?
>>104 詳細きぼん
DelphiのIDEでかなりのレベルまでC++使えるってこと?
>>107 いや、相手が
>>99 だからああ書いたけど、
実際には行が追えるだけで変数の値とか見えないし、当然キー一発コンパイル&実行なんて出来ないし、
C++環境として使いたいならふつーのエディタとTurboDebugerの方がマシ。
{$L}でDelphiに一部Cで作った.objをリンクしている時にやや便利な程度。
>>106 えーっとですね、インストールするとC:\borland\bcc55\にBIN\という、
bcc32.exeが入っているディレクトリができるはずみたいなんですが、
それが物理的に?無くて。
ダウンロードしたサイズは合ってます。ちなみに何度やっても同じです。
bcc55フォルダはできるのにbinフォルダができないってこと? そんなこと起こるのかなぁ。 includeとかexamplesフォルダはあるの?
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
113 :
デフォルトの名無しさん :03/07/15 17:25
このスレのおかげでなんとかBCCでC++を覚えたと自負するまでになりました そろそろwindowsらしいソフトをつくりたいと思ったのですが GUIを使ったツールを簡単に作るためのライブラリはあるのでしょうか?
user32.lib gdi32.lib
115 :
デフォルトの名無しさん :03/07/15 17:57
118 :
デフォルトの名無しさん :03/07/16 13:38
これ本体がないんですけど・・・。
本体さんの本体の反対の賛成
>>113 簡単に作ろうだなんて甘えるな!!
苦労してこそいいものが生まれるんだ!!
...とか言いつつでるふぃに移ろうかなんて考えてみる
>>121 でるふぃではなくでるふぁいな罠
ところが海の向こうではでるふぉいと呼ぶ地域もある罠
デルフィの舞姫たち
http://www.borland.co.jp/news/delphi6j.html ↑を読んでみな、ボーランド自体がデルファイと呼んでいるのがわかるから。
-----------------------------------------
ボーランド株式会社(代表取締役社長−安藤 由男、本社−東京都渋谷区)は、
あらゆる開発シーンで威力を発揮するビジュアル開発環境の最新バージョン「Borland(R) DelphiTM 6(ボーランド・デルファイ・6)」日本語版を平成13年7月25日(木)から出荷開始することを発表しました。
「Borland Delphi 6(以下、Delphi 6)」シリーズは3つの製品形態となっており、
Windows(R)プログラミングの学習に最適な「Delphi 6 Personal(デルファイ・6・パーソナル)」(希望小売価格4,800円:税別)、
最新バージョンに対応したWindowsアプリケーションを迅速に開発できる「Delphi 6 Professional(デルファイ・6・プロフェッショナル)」(希望小売価格 68,000円:税別)、
次世代e-businessをビジュアル開発で実現した「Delphi 6 Enterprise(デルファイ・6・エンタープライズ)」(希望小売価格 360,000円:税別)をご用意しています。
これらは、全国の主要量販店および、ボーランドのWeb販売サイトのWeb販売サイト「ボーランドストア」、法人のお客様向けWeb販売サイト「WebDirect」にて販売します。
------------------------------------------
今落としてみたが問題なかったぞ。 WinXPでインストールしたなら保護機能が働いてhiddenになってるんじゃねーの? /bin Win2kじゃ変化なかったけど。web表示はずしたり保護ファイルも表示するような オプション調べてみたら? 最後にディレクトリが作成されるからディスクの空き容量も確認してみたら? 環境変数はセットしとけよ。DOSじゃねーんだからautoexec.batに path=なんて書いても仕方ないのは分かるよな? それから2つくらいファイル作れ,ってのは書いたか?
>>126 あなたのところの鯖管にFTPのボートを開けてもらう
>>127-128 ひぃ、確かに!
ウチが悪いみたいです。
ftpポートは空いてるはずなのですが、、、
自宅経由で落とせました。
世話掛けたな。
>>125 win98なんですけど、表示かえても出ませんし、空き容量も大丈夫です。
インストール後はmakeの仕方で質問するに一票
132 :
デフォルトの名無しさん :03/07/19 00:46
Cマガジンあたりの付録CDに収録されるほうが確実なんじゃねーの インストール支援アプリ付いてるし
試しにさ、インストールフォルダの中にBinフォルダってあるでしょ? プロンプトを開いてそのBinフォルダに移動して、 c:\なんちゃら\bin> bcc32 ってやってみたら? コマンドラインオプションが表示されればファイルはある。 'bcc32' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 って表示されたら、ファイルは無い。 そんときは dir *.* した結果をここに張ってくれ。
135 :
デフォルトの名無しさん :03/07/19 01:18
>>134 インストールフォルダの中にBinフォルダが無いんですよ。
プロンプトで調べたけど、やっぱりBinフォルダはありませんでした。
半年前はこれでCをやってたのに・・・
うるせーばか つべこべいってないで 再インストールしろ
>>137 再インストールしてもこうなっているんだとしたら?
何回やってもとは言っているが、DLしなおしたりはしてるんだろうか
139さんの言うとおり再DLしたらできました。 パッケージの転送が完全に完了してなかったみたいです (途中で「完了しました」となっていたような気はしたんですけど) 〈 ドモッ、スミマセン....。 〈 スミマセンスミマセン...。 〈 コノトオリデス! ∨ ̄ ̄ ̄ ̄ ̄ ̄ ∨ ̄ ̄ ̄ ̄ ̄ ̄ ∨ ̄ ̄ ̄ ̄ ̄ (´Д`;)ヾ (;´Д`) ヾ ∨) ( 八) (´Д`;)、 (( 〉 〉 ノノZ乙 || ∧||∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( / ⌒ヽ <鬱だ氏脳・・・・どうか俺をたたいてください | | | \_____________ ∪ 亅| | | | ∪∪ : : ‐ニ三ニ‐ 137さん、すいません。そして139さん&質問に答えててくれた人ありがとう。
謝り方がいささか不快だがまあよかった
許す! 良かったな
143 :
デフォルトの名無しさん :03/07/21 12:44
タダで使えて商用利用可能でソースも公開しなくていいGUI Toolkitってありますか?
144 :
デフォルトの名無しさん :03/07/21 13:18
BCCFormまでセットアップしたけど 使い方というか、作り始めるきっかけがわからん。 リソースファイルまで作ったらそれからどうせっちゅうんだ? VBから移行したが・・・クリックアクション等は1から作らんと駄目なのか。 素直にビルダー買った方が早い気がする・・・
今時GUIアプリをC++で作るメリットは皆無だろ。 素直にDelphi/C#Builder使いなよ。
146 :
デフォルトの名無しさん :03/07/21 13:35
147 :
デフォルトの名無しさん :03/07/21 14:43
タダで使えねーよ。電気代も馬鹿にならん
148 :
デフォルトの名無しさん :03/07/30 15:51
STLのリンクエラーみたいですが、どうすれば良いのかな。 エラー : (1,1):Undefined symbol std::rwse_StringIndexOutOfRange in module ..\aes.cpp エラー : (1,1):Undefined symbol std::rwse_PosBeyondEndOfString in module ..\aes.cpp エラー : (1,1):Undefined symbol std::nullref in module ..\aes.cpp エラー : (1,1):Undefined symbol std::rwse_InvalidSizeParam in module ..\aes.cpp エラー : (1,1):Undefined symbol std::rwse_ResultLenInvalid in module ..\aes.cpp エラー : (1,1):Undefined symbol std::rwse_UnexpectedNullPtr in module ..\aes.cpp エラー : (1,1):Undefined symbol std::__rw_stdexcept_NoNamedException in module ..\aes.cpp
STLってよく知らないんだが、リンクエラーならライブラリファイルをプロジェクトに追加してみたら?
Digital Mars C++をダウンロードしたのですが、それにはMFCが付いていると 聞いたのですが、それをBCC55で使うことはできるのでしょうか?
>>150 試せばいいんじゃね
っつーかBCC使わないでDigitgal Marsじゃ問題あるのか?
(^^)
ライセンスの問題がありそうな悪寒
154 :
デフォルトの名無しさん :03/08/04 20:51
155 :
デフォルトの名無しさん :03/08/04 22:01
>>154 bcc32.cfg, ilink32.cfgの内容は?
ilink32.cfg
-L"C:\Program Files\Borland\bcc55\lib"
-L"C:\Program Files\Borland\bcc55\lib\PSDK"
bcc32.cfg
-I"C:\Program Files\Borland\bcc55\include"
-L"C:\Program Files\Borland\bcc55\lib"
-L"C:\Program Files\Borland\bcc55\lib\PSDK"
(以下その他のオプション)
でもだめ?
>>155 PSDK ってのを指定してなかったんで書き足そうと思ったら
単純ミスしてたのを発見しました。
bcc32.cfg のライブラリ指定のパスを間違えていたようです。
bcc32.exe を起動する時は ilink32.cfg は関係なくて bcc32.cfg だけを参照するんですね。
(ilink32.cfg は書き間違っていなかったので、リンカを直接起動した場合はうまくいっていた)
ともあれアドバイスのおかげで解決しました。ありがとうございました。
157 :
デフォルトの名無しさん :03/08/05 00:07
質問です。 locale の戻り値を第二引数にセットして再度 locale を呼び出すと、 locale の設定に失敗し、同時に第二引数も破壊されてしまいます。 VC や g++ だと大丈夫なようなのですが、 これは bcc32 のバグなのでしょうか?それとも C の仕様でしょうか? #include <locale> #include <iostream> using namespace std; bool result(const char* arg_second, const char* res) { cout << "\n-- RESULT --------------------------------------------------------------------\n== "; if (res) cout << "成功" << "\n== 第二引数\n" << arg_second << "\n== 戻り値\n" << res; else cout << "失敗" << "\n== 第二引数\n" << arg_second; return res; } int main() { char* res_first = setlocale(LC_ALL, ""), * res_second; bool ret; ret = result("", res_first); ret = result(res_first, setlocale(LC_ALL, res_first)); cout << "\n\n-- FINAL RESULT --------------------------------------------------------------\n== "; if (ret) cout << "成功"; else cout << "失敗"; cout << endl; return ret; }
bcc32のライブラリはバグだらけだからなぁ。
>>158 そかー、サンクスコ。
STLPort に locale が入っていたのでそっちに乗り換えてみます。
160 :
デフォルトの名無しさん :03/08/05 23:05
始めたばかりなのですが教えてください。 コマンドプロンプトで実行すると 「"studio.h"をオープンできない」とでるんですがどうしたらよいのですか? C++です。
162 :
デフォルトの名無しさん :03/08/05 23:14
'studio.h'でした。 わかりますか?
164 :
デフォルトの名無しさん :03/08/05 23:24
ネタじゃないです。 ホントわからないんでお願いします。
165 :
デフォルトの名無しさん :03/08/05 23:26
stdio.h
166 :
デフォルトの名無しさん :03/08/05 23:28
書き間違えてました・・・ ホントにわからないんで教えていただけませんか?
2. インストール先の bin ディレクトリで次の手順を実行します。 b. bcc32.cfg ファイルを作成します。このファイルは,Include および Lib パスのコンパイラオプション(コンパイラの -I および -L スイッチ)を設定するものです。ファイルには次の 行を含めてください。 -I"c:\Borland\Bcc55\include" -L"c:\Borland\Bcc55\lib" c. ilink32.cfg ファイルを作成します。このファイルは,Lib パスのリンカオプションを設定するものです。ファイルには 次の行を含めてください。 -L"c:\Borland\Bcc55\lib"
昨日マ板にいた子かな?
169 :
デフォルトの名無しさん :03/08/06 00:23
無理でした・・・
日本の夏 粘着夏房の季節
>>160 STanDard-Input/Output
173 :
デフォルトの名無しさん :03/08/06 17:04
なんでタダで使えるんですか? 使うのに何か条件みたいなものがあるんでしょうか? それとも体験版みたいに、使用期限みたいなものがあるんでしょうか? 商用利用はダメとかの条件付きでしょうか?
フリーのコンパイラは他にgccってやつがあるみたいですけど、違いが分かりません。 違いを教えてください。 Borlandはプロジェクトみたいないくつかのファイルを1つのプログラムとして実行するって ことはできますか?
>>177 makeってコマンドでできるってことですね。
bccにしようかgccにしようか迷っています。よく考えて決めたいと思います。
ありがとうございました。
迷うぐらいなら両方使えよ。 gcc使い出すとbccどうでもよくなるだろうけど。
>>175 今時そんなネタ言うのは君くらいのもんだよ
友人から愛想笑いしかされないタイプでしょ
181 :
デフォルトの名無しさん :03/08/07 21:14
実行すると参考書通りにしているはずなんですが、 「関数は値を返すべき」 とでるんです。 どうすればいいか教えていただけませんか?
>>181 一瞬なんのことかわからなかったが、return 0; が抜けているとみた(いい加減な参考書も多いから
>>181 多くの場合、参考書よりコンパイラのほうが正しいです。
コンパイラのメッセージに従いましょう。
185 :
デフォルトの名無しさん :03/08/07 21:45
return 0; というのがないんです #include <stdio.h> main() { printf("こんにちは、世界"); } こんなのですが何がおかしいかわかりますか?
世界なんておかしいもんだよ。
今時「こんにちは、世界」なんて吐くやつは ロボットか初心者のCプログラムぐらいなものだ。
>185 void main(void)
return printf("こんにちは、世界");
STLport4.5.3でsetlocale()を試してみました。 ある程度動くことは動くのですが、 なにやら、2回目の呼び出しの際、 最初の数バイトが破壊されてしまうようです。 あと、STLportのiostreamを使用すると、 OVERFLOWと嬉しそうに怒られてしまいます。 もう今にも泣いてしまいそうな私を誰か慰めてください。
192 :
XP入れようとしてます :03/08/11 10:25
Fatal: Error detected (LME279) あたりを検索したところ、 「XPでは動かないかも」といったものがここの過去ログ含め2箇所あったんですが、 本当に動かないのでしょうか? XPで問題無しの方っていらっしゃいますか?
>>185 今すぐにその本捨てろ。
何円で買った?なんかの付録?
今時そんな詐欺にちかいサンプルプログラム初めて見た。
195 :
デフォルトの名無しさん :03/08/11 13:58
mainはユーザー定義の関数だから書式は自由だろ
C++なら略せるんじゃなかったっけ?
>>196 C++ならなおさらreturn 0;がないのがまずい。
retrunは戻り値取らなければ最後に自動的にコンパイラがretrun 0;を 付け足すからいらないんだよ
おれもよくreturnをretrunと書いてエラーくらいます
200 :
デフォルトの名無しさん :03/08/11 20:43
そっか。
質問です。 クラスライブラリDLLを作ろうとしてるんですが、Link時に Error: 外部シンボル '__InitExceptBlockLDTC' が未解決 と言われます。これはどのライブラリを結合すれば解決できますか?
もしかして根本的な思い違いをしてるのかなぁ。 DLLって、もしかして許されるのはC言語形式の関数呼び出しだけで、 classのメンバ関数には対応してなかったりします?
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
205 :
デフォルトの名無しさん :03/08/16 16:43
>203 たしかVCなら、 extern "C" で誤魔化せたような?
補足です。 この方法ならBCCでもできると思う。
207 :
デフォルトの名無しさん :03/08/16 17:17
■■■■お前等!祭りですよ!!■■■■
〜1001ストッパーが壊れた!?〜
タバコ板のスレで、1001ストッパーが壊れ
1001以降もまだ書き込みできている模様。
1001 名前: 1001 投稿日: Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
1006 名前: 名無しは20歳になってから 投稿日: 03/08/15 06:25 ID:Z0CeMHS7
何これ
1014 名前: マロン名無しさん 投稿日: 03/08/15 06:25 ID:AxlwdY4A
お〜い、まだ書けるぞ?
書き込みは1300レスを過ぎた今も続けられている。
↓のスレに直行し、2ちゃんねるの歴史に名を残そう!
http://life.2ch.net/test/read.cgi/cigaret/1060952491/
俺読解力ねーなー
209 :
デフォルトの名無しさん :03/08/17 01:58
フォームをGUIでつくれるツールはないですか?
IEのエンコード設定が違ってた(汗 しっかりしてくれM$
ttp://www.dstorm.co.jp/developer/download/lwlib.html これをbccで使いたいのですが、
同包されてるstaticなライブラリ(obj/obj2.lib)は
bccで再構築する必要がありますよね?
vcのmakeを参照しつつ.cをコンパイル(警告出まくり)して、
.objをtlibでくっつけてみたんです。
で、ヘッダをincludeしてプログラム組み、
tlibで作った.libをリンクして関数を呼び出すと、、、
ダメぽ(涙
使った事ある方いらっしゃいますか?
開発環境 bcc+SDL
とりあえずおいといてメタセコイアから モデルを読むことにしました(SDLのサンプルあったので) まだ頂点と表面しか読めてないですが(;´Д`) いずれlwoに。。。
214 :
デフォルトの名無しさん :03/08/31 22:26
BCC 5.51なんだけど、const修飾したオブジェクトに対してメンバ関数呼べるようになってない?本来ならばメンバ関数をconst修飾しなきゃ呼べないはずだよね?
ふつーに呼べませんが
呼べるけど警告がでるぞ
217 :
デフォルトの名無しさん :03/08/31 22:36
#include <iostream> using namespace std; class A{ public: void func(){cout<<"OK!"<<endl;} }; int main(){ const A obj; obj.func(); return 0; } ふつーにコンパイル&ビルドできるんだけど・・・おかしい?
219 :
デフォルトの名無しさん :03/08/31 22:48
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland const.cpp: 警告 W8037 const.cpp 11: const オブジェクトに対して 非 const 関数 'A::func()' が 呼ばれた(関数 main() ) Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
>>220 直接bcc32.exe通したら
>>219 のようになった
BCC Developer環境だと通ってしまうみたいだ
なんかオプションついてるのかな?無知なんでよくわかりませんが
警告レベルが違うとか
bcc32.cfg にオプション設定してんじゃない?
-w オプションつけとけ。
225 :
XPでlinkできません :03/09/06 13:50
>>192 さんに関連
98で問題なくGompile&GoできていたんですがXPにインストールしてからは
iLink32の実行で
Fatal: Error detected (LME279)
Fatal: Error detected (LME347)
が出てうまくいきません。
>>201 さん、うまくいくそうですがその方法とはなんでしょう。
>>225 GompileぢゃなくてCompileしたほうがいいと思うぞ
>>225 XPで問題なく使ってるぞ。
エラーの出るソースおよびbcc32.cfg, ilink32.cfgの詳細キボンヌ
229 :
XPでlinkできません :03/09/08 09:15
>>226-
>>228 さん
いろいろ試したのですがだめでした。
よろしくご教示ください。
「ソース」
#include <iostream>
using namespace std;
int main(void)
{
cout << "へろ〜わ〜るど" << endl;
return 0;
}
bcc32.cfg
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib;c:\Borland\Bcc55\lib\PSDK"
ilink32.cfg
-L"c:\Borland\Bcc55\lib;c:\Borland\Bcc55\lib\PSDK"
なお環境設定には
Borland C++ Compiler 5.5
環境ファイル/パス設定プログラム
setbcc
Ver. 1.5 By Gohodoji(護法童子)
を使っています。
よろしくお願いします。
-L"c:\Borland\Bcc55\lib";"c:\Borland\Bcc55\lib\PSDK" これでどうでつか?
# 不覚にも
>>225 の"Gompile"にワロタ (w
>>229 (=
>>225 )
そもそも-Lオプションに lib\PSDK は不要ではないのか?(bcc32.cfg, ilink32.cfg両
方)
それと、5.5.1使っているんだったらきちんとそう書いてくれ(5.5→5.5.1では
致命的なバグがfixされてるんでね)
__msreturn は __msfastcall と共にしか使えないの?
233 :
XPでlinkできません :03/09/11 14:28
>>230 ,
>>231 さん
いろいろとご面倒かけてすみません。
どういうわけなのかうまくいきません。
因みにversion5.5.1です。インストールの間違いでしょうか。
BC++ とセットで使えるようなフリーの開発環境ってない?
セットの開発環境ってどういう意味だ?
>>234 そのページ、文字化けしますなー
Shift JIS で書かれてるのに、冒頭で charset=EUC-JP になってるからかな。
DirectX9SDKをダウンロードしたのですが これをこのコンパイラーで使うことはできますか?
243 :
デフォルトの名無しさん :03/09/23 21:32
お金を払わずにCpadを使ってる俺は悪い人ですか?
244 :
デフォルトの名無しさん :03/09/23 21:42
ごめん、俺もCpad愛用してる。 まあ、作者には気持ちだけで十分だろう
ファイル選択のダイアログを出すだけの関数なのですが、 BCCでは下記でダイアログが表示されるのに、VCではコンパイルは通ってもダイアログが表示されません。 FilePathとFileNameを""で初期化するように変更するとVCでも表示されるようになりました。 BCCではデフォルトで文字列の設定がされているのでしょうか? void OpenFile() { OPENFILENAME ofn; char FilePath[MAX_PATH], FileName[64]; memset(&ofn, 0, sizeof(OPENFILENAME)); ofn.lStructSize = sizeof(OPENFILENAME); ofn.hwndOwner = g_hWndMain; ofn.lpstrFilter = "All files(*.*)\0*.*\0\0"; ofn.lpstrFile = FilePath; ofn.nMaxFile = sizeof(FilePath); ofn.lpstrFileTitle = FileName; ofn.nMaxFileTitle = sizeof(FileName); ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY; ofn.lpstrDefExt = "All files"; ofn.lpstrTitle = "ファイルを開く"; GetOpenFileName(&ofn); }
おっと。こんなところにこんなスレが。
>>245 偶然。じゃないかな? C/C++ での文字型の配列は Delphi/C# などの文字列とは異なるものなので。
FileName は単なる64個の文字型の配列(の先頭アドレス)。
言語仕様上、ローカル変数 (auto 変数) は初期化されないので、スタックの中身がそのまま現れる可能性がある。
たまたま BCC だと適当な値が入っていて、MSC だとだめだったんじゃないかな?
FileName はダイアログの初期値を設定するために使えるはずだから、多分こっちだと思う。
作法として、頭に0(ヌルターミネータ)を入れといてから渡すほうがよいでしょう。
そっか偶然かー。レスサンクス。
一般論として。 未初期化データを使うのは、何が起きるかわかりません。 コードを変更していったら、突然逆(BCC でエラー / VC で正常動作)となることも考えられます。 あと、気になるなら GetOpenFileName の帰り値と、OS のエラーコードを確認したほうがよいでしょう。
特にBCCだからってことじゃなかったのね。気をつけるようにします。
250 :
デフォルトの名無しさん :03/09/30 11:01
BCCを使ってるのですがプロファイルはどうやったら出せるのでしょうか? 今日図書館で読んだ難しい本にプロファイルを見ればいいことが起きる(意訳)って 書いてあったので見てみたいです ちなみにその本では素数を求めるプログラムが数倍に速くなってました
Intel VTune. BCC にも対応している。
252 :
デフォルトの名無しさん :03/09/30 11:48
ごめん、クソ初心者な質問ですけど、、、 Borland C#をインストールしてみての質問 ・これ、C/C++のソースはコンパイル出来ますか? ・動作が遅いのは僕のパソコンがヘタレだから? おしえてください。お願いします。
さすがクソ初心者と自称するだけある。 C# Builder は C# 専用のツールです。C/C++ はコンパイルできません。 動作が遅いのはヘタレだからでしょう。OS が 98/ME ということはありませんか?
>>253 ありがとうございます。
やっぱ、無理なんだ・・・ヘルプ見てなんとなく予想はついたけど。。。
一応WIN2000ですが、もう2年目のパソコンなんで仕方がないですね。
テメェの看板に色添える程度に勉強しておきます。
2ch らしい言い回しだなぁ。ゴラァ。 C#Builder は C# でかかれているところも多いので、どちらかというとメモリを多めにしたほうが きびきびと動くようになるでしょう。
256 :
デフォルトの名無しさん :03/09/30 13:07
最低でも512MBだな
漏れのメモリ、256だよウァアアン(2chを意識した書き込み) 結局本買ってきて勉強することにしました。 C++&MFCでやってきたから、色々メンドイよう。
C#ってタダなん?
Borland C#は、個人使用・非商用に限ってタダです。 Borlandに登録は必要ですけど。。。
ありがと。そっか、じゃあ学んでみるのもアリかな。
納得したなら、C#Builder のスレに移ってくださいな。 ここは Borland C++ / コマンドラインコンパイラのすれなのだ。
BCCって商用利用可だっけ?
可能。>> 262
> 本ソフトウェアは、個人の使用を前提としております。教育機関、組織・団体でのご利用 > については インフォメーションセンター までご連絡をお願いいたします。なお、この電 > 子メールアドレスでは、ソフトウェアに関するご質問はお受けいたしません。あらかじめ > ご了承ください。
265 :
デフォルトの名無しさん :03/10/03 00:54
BuilderでブロードキャストされたMESSAGEを受信するにはどうしたら良いでしょう? 受信側をApplication->OnMessage = メッセージハンドラ と設定してやる事により、 PostMessage(Application->Handle, WM_USER + 1, 1, 1) で動作する事を確認しました。 ただ、本当は別のアプリからのMESSAGEを送信したいので、 Application->Handleは使えませんし、受信側のHandle取得を 行うルーチンもスマートな物が思いつきませんでした。 そのため、メッセージをブロードキャストしてみようと PostMessage(-1, WM_USER + 1, 1, 1)や BroadcastSystemMessageを試したのですが、受信できていないようです。 2つのアプリ間でどのようにすれば、MESSAGEの送受信がスマートに 実装できますでしょうか?
セキュリティとかいろんな問題でプロセスを跨ぐ通信は、潜在的にいろんな問題を含んでいます。 一見できるように見えても制限が出てきたり。 もし COM を使うことができるならそれを使うことを薦めます。 PostMessage で他のプロセスのトップレベルウィンドウにメッセージを送るには、 WM_USER + 1 相当を RegisterWindowMessage する必要があります。 この二つのキーワードで調べればサンプルコードが手に入るでしょう
268 :
デフォルトの名無しさん :03/10/04 00:00
>>266 殿
おかげさまで解決できました。
私の持っているSDKでは、PostMessageの参照項目にRegisterWindowMessage
がないので、教えていただかなければ絶対わからなかったと思います。
ありがとうございました。
恥ずかしながらWindows環境での開発には不慣れなもので、
「COM」と言う単語は初めて聞いたのですが、参考書等を
探してみようと思います。
アドバイスありがとうございました。
269 :
(;´Д`)y─┛~~ :03/10/04 09:25
約数の求め方がわかりません。(C言語で) 教えていただけませんか?
二つの数の最大公約数の求め方、そのものがわからない。のですか? それとも 最大公約数の定義/アルゴリズムは知っているけど、C で書く方法がわからない? どちら?
272 :
デフォルトの名無しさん :03/10/04 17:44
Borland C++BuilderX Personalがタダで提供されるようですが、 それはこのスレかBCBスレどちらの話題になりますか?
新しくスレ立てろ
コンパイラは複数使えるようだから、その時使ってるコンパイラのスレで、 ライブラリはwxWindowsスレでいいじゃん、と言ってみる。
VisualStudioと同じような扱いでいいんじゃねーの
276 :
(;´Д`)y─┛~~ :03/10/04 19:56
>>270 数字を入力してください。
約数は〜です。
みたいなプログラムをつくりたいんです。
まともに質問にも答えられないのか
>>276 宿題丸投げは専用スレがあるからそちらへどうぞ
>>276 多倍長で因数分解したいの?もしかして楕円曲線法とかを実装したいの?
激しく擦れ違いだが・・・ int * factor ( int n ) // nの約数を返す関数 { static int f [ 32768 ] ; // f nの約数 f [ 0 ] = 0 ; // ただし0番目は約数の数とする for ( int i = 1 ; i <= n ; i ++ ) // i nの約数かどうか判定する数 if ( n % i == 0 ) f [ ++ f [ 0 ] ] = i ; return f ; } mainは自分で考えな。
すみませんが、教えてください。 borland c++を win2000環境で(コマンドライン)使おうと思っています。 コンパイル対象ソースファイルにはgraphics.hをインクルードしています。 これは、freeのborland5.5でコンパイルできますでしょうか? 一応、インストール終了後 grepをしてみたのですが、graphics.hはない ようです。 識者の方、宜しくお願いします。
bcc(というよりWindows用の32bitコンパイラ)にgraphics.hはありません。 というわけで、タダで使えるTurboC++1.01を落として(ry
違った。確か、落とせるのは、TurboC2.0だった。
285 :
デフォルトの名無しさん :03/10/05 02:40
ファイルオープンダイアログをカスタマイズしようと fileopen.dlg をコピペしてコンパイルしたら Error objbase.h 217 9: Symbol PURE is already defined. Redefinition is not the same というエラーが出た。 回避方法が分かる人います? 自分でもちょっと調べてみたけど objbase.h で以下のような 条件式で PURE が違う値で再定義されてるということらしい。 #if defined(__cplusplus) && !defined(CINTERFACE) #define PURE = 0 #else #define PURE #endif リソースコンパイラは条件コンパイルができないの? OS:XP
>282,283,284 ありがとう! 早速落としてみました。TurboC++1.01 graphics.hもありました。 もうひとつ質問お願いします。 win2000を使っているのですが、 コマンドプロンプトでコンパイルして、実行すれば、 グラフィックが描けるのでしょうか? 昔、win3.1時代には、win上でdos画面になって実行 出来たのを覚えています。 宜しくお願いします。
287 :
デフォルトの名無しさん :03/10/05 11:44
無理じゃない?
290 :
デフォルトの名無しさん :03/10/09 12:23
質問させてください。 BCCでは_allocaは使えますか?
ありがとうございます。 Visual C++やgccのallocaと同じようなものですよね?
293 :
(;´Д`)y─┛~~ :03/10/09 17:18
age
>292 開放のいらないメモリ確保allocaだす。
>>290 grep付いてるんだから、includeフォルダのヘッダファイルのなか検索したらいいんじゃね
すいません、伺いたいことがあるのですが。 先日DirectX9.0のSDKを入手し、これを使いたいのですが。 SDKのインクルード、ライブラリのフォルダはつきとめcfgファイルにしっかり書きこみました 続いてVC++用のサンプルプログラムをコンパイルしようと思ったのですが まず複数のcppファイルをどうコンパイルして1つのEXEにした良らいのかわかりません… またDirectXの操作に関して何か勘違いしている節を自分でひしひしと感じます どうか簡単で結構ですのでアドバイスお願いします
複数のファイルを並べて書けばいいだろ bcc32 file1.cpp file2.cpp file3.cpp filea.asm fileb.obj filex.lib
>>296 それかmake.exeのお勉強するかだな。makefileくらいは軽く書ける
ようになっておけ〜。
makeファイルの中身についてはよくわからないのですが変更してなんとか
コンパイルの準備にこぎつけるようにはなりました
ただいろいろエラーが出て止まってしまうのはやはりVC++用のコードは
完全にそのままコンパイルできない、ということですよね?
>>297-298 あ、なるほど、そうやって列挙してOKだったんですね…
上記のmakeファイルの中身と見比べてある程度納得できました
>>299 あ、ありがとうございます…
検索が下手なのかGoogleで出てきたのはちょっと使ってみる、という名前のサイトと英語ばかりで…
日本語サイトはどこもNotFoundばかりになってしまって非常に困っていました
なんか>296は初期化がどうのとかハンドルがどうのとか聞きに来そうだな。 DirectXを使うのはC++をしっかり理解してからにしたほうがいいぞ。 分からなかったらCから使えるSDLにでもしとけ。
>>302 あ、そのあたりは以前に経験があるので大丈夫です
SDKの中のincludeファイルにエラーが出るので現在これと奮闘中です
>>301 英語で挫折していちゃぁDirectXは使えないだろ?
VC++を買えば日本語しかわからない庶民どもでも使えるぴょ
VC++を買うくらいならC++Builderを買うです。
>>305 SDKって全部日本語に翻訳されてたっけ?
>307 いやBorlandが好きなだけです(w 慣れですかね。でも最近のC++Builderもちょっとかな。
俺はBCCDeveloperのデザインが好きなのでBorlandC++
Windowsプログラミングで .cppとか.rcとか.hを分割コンパイルを詳しく説明しているホームページありませんか?
猫でもわかる
リソースファイルはともかく ソースファイルならコンパイル時に列記するだけだし ヘッダファイルはソースでインクルードしてるだろ
314 :
デフォルトの名無しさん :03/10/30 09:02
初心者の質問なんですけどよろしいでしょうか? 違ったら誘導お願いします。 Borland Database Engin 初期化中にエラーがでました。 何が原因ですか?
それだけの情報で分かったらネ申だな
>>314 BDEを使っているという事は BCBかDelphiじゃないのか? どっちかのスレに行ったら?
なお、最近BDE使う人口少ないし、使っててもその聞き方では誰も答えられないとは思うが
>>307 C++は画面フォームの編集ボックスやラジオボタンのプロパティ(値)を
反映させるのにいちいち関数を呼ばないといけないのが面倒くさい。
BorlandのはプロパティにセットすればそれでOKなので初心者には
理解しやすいよ。
318 :
デフォルトの名無しさん :03/11/02 04:00
WindowsXPでBorland C++ Compiler 5.5+BCC Developer 1.2.15な環境なのですが、 昔のバージョン(BCC 1.3)で作られたmakefileのため、コンパイルがうまくいきません。 変更点や自動変換とかしてくれるツールorページとかご存知でしたら教えてもらえないでしょうか。 よろしくおねがいします
319 :
デフォルトの名無しさん :03/11/02 04:33
BCC Developerって軽くていいんだけどなあ。 できれば重いVC++はインストールしたくないんだけどなあ。 記憶力ないしタイピングも嫌いなので入力支援ないと困る。
>>318 昔のmakefileなんて使わずに新しくプロジェクト作ればいいじゃん
321 :
デフォルトの名無しさん :03/11/02 16:43
>>320 makefileは書き直したのですが問題が。。。
1.strcasecmp、pclose、popenが未定義といわれます。
普通のCのコマンドですよね?
#他の環境(Linux)ではうまくmakeできるのすが。
2.BCC Developerが使いこなせません。(^^;
コマンドラインではmakeできるのですが、Developer上で
makefileの設定が反映されていない(ようにみえる)。
「メイクファイルの書き換えを禁止する」にするとmakeできないしで、
どうもうまくいきません。
322 :
デフォルトの名無しさん :03/11/02 16:54
popenは普通のCの関数ではないです
323 :
デフォルトの名無しさん :03/11/02 17:26
>>322 >popenは普通のCの関数ではないです
あっ、おもいっきり環境依存のようですね。
ありがとうございます。
が、いまだにDeveloperでの指定の仕方がわかりません。
いまのところDeveloperでファイルの編集。makeはコマンドラインからと
なっているので、なんとかしたいのですが。
>>320 1は、該当箇所を修正することで解決しました。
2に関してですが、Developer関連の使い方に関するお勧めのページとか
ありませんでしょうか。
#統合環境なる贅沢な(?)ものは使ったことがなかったもので。
「ファイル>新規作成」でプロジェクトを作る。 プロジェクト名のフォルダができるから、それにソースファイルを入れる。 「プロジェクト>プロジェクトに追加」でソースファイルを追加。(追加したファイルがツリービューに表示される) 「プロジェクト>プロジェクトの設定」で設定。あとはコンパイルしたりメイクしたり。
BCC Developerの開発を引き継いでくれる人を募集していた。 フリーソフト作者は大変なんだな〜
SDKのスレってないんですね。ここで聞いていいのかな? timeGetTimeの返す値って、PC起動してから時間が立つほど不正確になるもんなんですか? Cでゲームを作っていて、ゲームなので高速な処理をするためにメッセージループをいじって while (TRUE){ if( PeekMessage(&msg, NULL, 0, 0,PM_REMOVE)) { if(msg.message == WM_QUIT) break; TranslateMessage(&msg); DispatchMessage(&msg); } else { gameMain(); } } return (msg.wParam); 処理のほとんどをgameMainに費やすようにしています。 で、例えば敵機の弾とかの移動距離を算出するために、 「(今のtimeGetTime()の値 - 前回ループ時のtimeGetTimeの値)/1000*1秒間に移動したい距離」 とすることで、CPUの処理能力によって差が出ないようにしてるのですが、 PC起動してから長時間たっていると、動きがガクガクするのです。
>>321 うnix -> Win32系
strcasecmp -> stricmp
popen -> _popen
pclose -> _pclose
なので#defineしておけばOK
331 :
デフォルトの名無しさん :03/11/11 23:46
棒乱奴 肪乱度
ボーランド オモロイド
333 :
デフォルトの名無しさん :03/11/12 19:28
baud run do
お前ら、cppにアイコンつけたりしてますか?
メモ帳のアイコンになってる(´・ω・`)
336 :
デフォルトの名無しさん :03/11/25 04:08
>>336 せっかくだからBuilderXでやってくれれば良かったのにな
338 :
デフォルトの名無しさん :03/11/25 07:20
BuilderXのほうがデバッグ環境よさそうかなあ。でも重いしなあ
BuilderX付属のBCCのほうがバージョン新しいけど 何が違うの?
早くターボデバッガーの使い方を説明して欲すぃ
>>339 STLにRogueWaveとSTLportの両方が付いている。template回りの
バグが結構取れている。要はC++Builder6用のコンパイラと同じ。
しかしboostのregression testは相変わらず悪い。STLportも4.5.3
と今となっては古いが、BCC32でSTLportをビルドせずに使いたい
人にはいいかも。(STLportの本家からダウンロードしてビルドして
も必ず失敗する。管理者が怠慢。)
342 :
デフォルトの名無しさん :03/11/25 23:38
bcc+direckxで作られたフリーのゲームってありますか? ちょっと参考にしたいもんで。
別に変わったことはやってないぜ
ゲ製作でソースが色々とウプされる所がある 該当するものがあるかは見てないけど(:p
gcc3.3.1、VC6SP5で通るがBCC5.6.4で通らんよ。 template <class T> T t_log10(T v) { return std::log10(std::valarray<T>(v, 1))[0]; }
>>345 こうじゃないの?
template <class T>
T t_log10(T v) {
return std::log10(std::valarray<T>(v, 1)[0]);
}
>>345 スマソ。std::log10(const std::valarray<t>&); なのね。確かにおかしい。
#define _USE_OLD_RW_STL をつけて、RogueWaveのSTLにしたら 通る。 という事はBCC5.6.4のSTLportのバグか。例のCの標準関数と同じ名前 のアルゴリズムやvalarrayを呼び出すと認識できないやつ。remove() のような。 でも今回はreturn _STL::log10(_STL::valarray<T>(v, 1))[0]; とやっても だめだね。
349 :
デフォルトの名無しさん :03/11/28 00:09
ど素人なんですが #include <stdio.h> main() { printf("Test\n"); return 0; } を実行しようとするとインクルードファイル"stdio.h"をオープンできないって出ちゃいます… 学校で作ったやつをこねるために今日入れたんですが、それも作動しねーから試しに上のを実行したがだめぽ PATHは本に出てた通りにしますた
stdio.hはちゃんとパス通した場所にあるのか?
>>352 でビンゴですた
お騒がせして失礼しました
コンパイルしたら Fatal: Error detected (LME279) Fatal: Error detected (LME347) Warning: Failed to create state file ファイル名.tds (error code 0) と出るのですが・・・
355 :
デフォルトの名無しさん :03/11/28 22:34
357 :
デフォルトの名無しさん :03/11/28 22:40
double **a = new double*[p]; for(i=0; i<p; i++) *a = new double[q]; このように動的確保した2次元配列はどのようにして 解放すればいいですか?
>>357 ループの最後に確保したのはdelete [] *a;で解放
出来るが他のは無理
359 :
デフォルトの名無しさん :03/11/28 22:57
ループして確保するという考えは浮かぶのに、ループして解放するという考えは浮かばない
>>357
つーかそれ以前に(疑似)二次元配列になっていないじゃない・・・・ ループするたびに以前確保した領域を見失っている。
.rcでwindows.hを#includeできないんだが。
>>356 Meです。
gcc(MinGW)でコンパイルしたら
ファイル名.cpp: In function 'void 自作関数()';
ファイル名.cpp:250: unknown escape sequence: '\' followed by char code 0x83
ファイル名.cpp:256: unknown escape sequence: '\' followed by char code 0x83
ファイル名.cpp:258: unknown escape sequence: '\' followed by char code 0x83
ファイル名.cpp:1684: unknown escape sequence: '\' followed by char code 0x97
ファイル名.cpp In function 'int main()';
ファイル名.cpp:1710: unknown escape sequence: '\' followed by char code 0x97
と出ます。
こやつ…只者ではない!
やっぱ自作関数だよ自作関数は最高だよおまえさん
それで原因は・・・
すまん間違えた。
369 :
デフォルトの名無しさん :03/12/01 04:23
これ使ってる皆さんは関数のマニュアルは 何を参考にされてんですか? 特にWindowsの ファンクションはリファレンスないと使うの厳しい と思いますが。
371 :
デフォルトの名無しさん :03/12/02 11:34
これの統合開発環境はなかなか便利だぁね。 VC++に迫るものがある。Winアプリとコンソール アプリの指定も簡単だし。 ペゾルトのProgramming Windowsに掲載されていた HELLOWINプログラムが、BCCできちんとコンパイル して実行できますた。この中でPlaySoundファンクション を使ってるけど、これ、残念ながらmp3は再生できない 模様。mp3を再生するファンクションってないもんですかね。 あとは関数リファレンスが充実すればいいんだけど。 MSDN Onlineは重すぎる。
数値計算で計算結果を図示(2D、サーモグラフみたいなの)したいのですが、 1.ある時間の結果をBMPファイルで書き出す 2.時間経過を順次aviに書き出す という処理をしたいと思っています。 bc++ 5.5 + win2k で簡単に実装する方法やサイトへのポインタなどありました教えてください。 vc++やらbuilderやらは引っかかったんですけど……
vc++やらbuilderやらを参考にすればできるよ
>>373 GUIアプリ書きたいならVC#なりBCBなり買った方が正解
376 :
デフォルトの名無しさん :03/12/04 18:30
BCCではCOMプログラミングって できるんですかね。Visual C++用の解説本を 読んでいたら、 #import 命令なんかを使ってる んですが。
>>342 LIBERATION ARMY なんかどうだ?
el使っているがBCCで作られているみたいぞ。
378 :
デフォルトの名無しさん :03/12/04 21:00
超初心者で今日からはじめたんですが、コンパイル時に ファイルが見つからない とでるんです。 typeとうつとソースがでてくるのにどうしてこんなメッセがでるんでしょうか? 場違いな低レベルな質問でスマソ
>374 >vc++やらbuilderやらを参考にすればできるよ 出来なかった…… >375 リアルタイムに表示する必要はなくて、とりあえず画像/動画ファイルに吐き出してあとで見れればいいんですけど。 WinAPI(vcならMFC)を使うのがラクなんですかね? フリーで逝きたいので、最悪バイナリデータを一つ一つファイルに吐き出すことになるのかなぁ
>>377 それ、もうプレイしてます。
すごいですよね。フリーの環境であそこまで作るなんて
初心者(C言語の関数あたり)なんでチマチマやってるんですが、
これでゲームが作れるのか?って不安になってたんですが…
いや、逆に余計不安になった。こんなの無理だって。
やっぱり最初はコンソールのゲームかな。
簡単なテキストアドベンチャーからはじめよっと。
いや、その前に初心者本を終了させねば。
>382 ありがとん。勉強させて頂きます。
bcc32 に -W オプションをつけるべきなのは、どういう時ですか? ヘルプには、「ターゲットは Windows アプリケーション(-tW と同じ)」とあったのですが、 winsock.h を include するような場合にもつけるべきでしょうか。
WinMain で始まるやつが -W つけるんじゃないの?
そんなところだな
.rcでwindows.hを#includeできないんだが。
する必要ないやん
猫にも分かるで書いてあったです
どこ?
#include<windows.h>書いても書かなくても普通にメイクできるよ。 「できない」ってどういう意味でできないのかわかんないけど、何か設定が変なんじゃない?
やり始めたころ丸写しでそう書いてたけどできんかった。 でもなくてもできたからないままとおしてる
395 :
デフォルトの名無しさん :03/12/14 19:49
無償のBorland C++ CompilerでもWDMって作れるんでしょーか?
Mingw-GCCのWIN32ならincludeの下にDDKがあるが。
397 :
デフォルトの名無しさん :03/12/16 07:49
BC5.0(BCBでなく)についてるCodeGuardをBCC5.5で使うにはどうしたらいいの?
398 :
デフォルトの名無しさん :03/12/21 15:00
∧ ∧ (・Д ・,,) { ………。 ) (u u__)〜
エスケープシークエンスで画面制御ができないのは コンパイラのせいなんですか? XPでやってるんですけど、\x1b[... ってやつが使えないんですけど
>>399 //f1.aaacafe.ne.jp/~pointc/log137.html
402 :
デフォルトの名無しさん :03/12/27 14:33
Visual C++用に作られたWindowsプログラムソースって、BCCでビルドできないことが多い。
これ使ってる人ってリソースファイルを手書きしてるの? めんどくさくないですか。
ああめんどくさいよ。 でもやってる。
bccform使えそうだね。 今までリソースファイル使わない習作に限定してやってきたけど、 手を出してみようかな
BCCとVisualC++どっちから初心者は始めた方がいいですか?
VisualC++の方が楽。 BCCは無料だから初心者使うけど、 コマンドラインからコンパイルするのが基本だし扱いは難しいかも VC++買えるならそっちのがいいと思うよ
BCC5.5+BCCdeveloper+BCCform(全部フリーソフト)で、フリーで統合環境が揃うよ。
developer入れるまでは俺もコマンドラインでbcc32使ってたけど。
ttp://www.kumei.ne.jp/c_lang/bcc/index.html 猫でも(略)でも、BCCのコンテンツがある。
C++初心者でBCCを触ってみよう、という人はここも見てみては。
統合環境構築のtipsがあるのがとてもよい。
こういった初心者向け情報もテンプレ期待。
でも、俺も「買えるならVC++」をオススメする。 学生でアカデミック版買えるとか、親からある程度金が出る、とかなら、 もう言うまでもなくVC++だと思う。
BCCでresファイルが1Mバイトを超えると、 リンクに失敗するのだが、1M以上のリソースは追加できないのかなあ?
>>408-410 ありがとうございます。
じゃ、お金が出来るまで少しBCCをやってみようかと思います。
C++統合環境初心者です。 >OutputDebugString("hello world"); こんな便利な関数があったのかよ! BCC developerの説明書には無かったぞゴルァ!!!! 不勉強でスマン
小難しいことはあとまわしにして >#include <windows.h> >int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int cmdShow){ > OutputDebugString("hello, world"); >} とかから始めようと思った
OutputDebugStringは引数がc har * だから、数値を混ぜたいときに不便。 どう工夫すると楽か検索したけど、なかなか欲しい情報が見つかんないよー。 ちょっと贅沢にprintfなlibの機能くらいはお世話になりたいと思った。 >void D4(char *p,int d0,int d1,int d2,int d3){ > char str[1024]; > sprintf(str, "%s (%d,%d,%d,%d $%x $%x $%x $%x)",p,d0,d1,d2,d3,d0,d1,d2,d3); OutputDebugString(str); >} とりあえずこれで今は済ませてる。 stringなどのclassを利用したり、printfなど任意個引数を扱うwrapper作ったり、とかは 知識不足でわからんです。
>>416 丁度ギリギリ全部理解できて身につく情報で、助かったよ。ありがとう。
疑問質問のどのあたりがBCC+developer固有の話題で
どのあたりがC++一般やVC++と共通なのか、少し把握できてきた。
developer掲示板より >dbgmon.exe が Exception を横取りしてしまう のが原因で、 OutputDebugStringのためにdbgmon使ってると PostQuitMessage(0) などの実行に不具合が出るようだ。終了しなくてCPU100%とか。 折角OutputDebugStringの楽しさを味わってたんだけど、残念。 ・A-1 : dbgmonを使いつづける ・例外処理を使わないコーディングを心がける → 今後触るサンプルソースが例外処理を使わない、という保証はない。無理 ・B-1 : dbgmonは削除する。dbgmon以外のOutputDebugString監視ツールを探して使う → BCC developer内との親和性が多少失われるけど、たいしたことじゃない。 そんな(フリーの)ツールが都合よくあるのかなぁ? ・B-2 : dbgmonは削除する。 OutputDebugStringをBCC developer環境で使うのをすっぱりあきらめて 適当なfileにlogingしてそれを見る。 → TRACEもASSERTもVERIFYも無しかよ…
同梱のdbgmonを置き換えて使うdbgmon.exe >#include <windows.h> >int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){ > STARTUPINFO theSI; > PROCESS_INFORMATION thePI; > ZeroMemory(&theSI, sizeof(theSI)); > ZeroMemory(&thePI, sizeof(thePI)); > theSI.cb = sizeof(theSI); > CreateProcess(NULL, "debugtracer", NULL, NULL, FALSE, 0, NULL, NULL, &theSI, &thePI); > CreateProcess(NULL, lpCmdLine, NULL, NULL, FALSE, 0, NULL, NULL, &theSI, &thePI); >} dbgmon.exeと同じdirにdebugtracer.exeを置くこと。 これでdebugTracerがBCC developerの一部のように動く。 統合環境の快適さマンセー
初心者な質問で申し訳ないです。 本当に最初のほうでして、へろーわーるどでコンパイルを行い、 もちろん(当然)エラーも無く、exeファイルが作成されました。 で、それからそのexeを実行すると何も起こりません。 おかしいと思って、DOSからではなく実際のファイルをダブルクリック してみると、一瞬DOSウインドウが開いたかと思うとすぐ消えます。 なんというか・・どちらかと言うとハードに問題がありそうな気がしますけど・・ 他のアプリケーションでも、起動直後に勝手に終了したりしますし。 環境は ペンティアム4 2.4cGHz メモリ512MBの 一 枚 ざ し 。 CPUで2.4C使ってるのに、メモリ1枚ってそんなに致命的なのかな? マジですれ違い風ですけど、どなたか助けてください(つдT)
>>421 Hello, World.を表示するコードでテストしてみた? それでも同じ?
コマンドプロントにexeファイルをD&Dしてエンターでどう? 僕も昨日からCはじめたんだけど同じとこやってるみたいだね。
コマンドラインツールなんだから最初のうちはコマンドラインの中からコンパイラを動かした方が 違和感ないかとおもわれ。 メモリとかは関係ないです。 最初から GUI OS を使ってきた若い人には、まずコンソールになれないと。
コンソール操作は面倒臭いので、私はBCC用のフリーのエディタを使っています。 吐き出した実行ファイルを残さないのが便利です。
>>422 どうしても解決できなければ後日質問してみます。
その日のうちにいろんなところで聞くと「マルチうざい」となりそうで。
>>423 XPのホームエディションです。
>>424 一応、ボーランドのHPにあるコードをそのまま使ったので、コードは
多分大丈夫だと思うのですが・・
>>425 やってみたけど無反応でした orz
こっちは脳みそが足りないので、同じ勉強スピードにはならないでしょうけど
お互いがんばりましょうね。
>>426 メモリは関係ないですか・・・買い足そうと思ってたけどちょっと様子見ます。
以上、どうもありがとうございました。
とりあえず、出来ることを出来るだけ試してみようと思います。
昨日、深夜まで悩んだことが一瞬で解決しました。
昨日使っていたのは
#include <conio.h>
main(int argc, char **argv)
{
enum COLORS c = WHITE;
while (--argc) {
textcolor(--c);
cprintf("Hello, %s\r\n",
*++argv);
}
return 0;
}
本日は本当に基本的なHello,worldで出来ました。
皆さんは笑うかもしれないけど、コレが最初の一歩、
ちょっと感動しました。
上のコードで何故
>>421 のような反応になったのかは未だに不明。
がんばります。
そのソース全然理解できない〜。 コンパイルして起動したら、ウィンドウすぐに閉じちゃいますね…。 Hello,world完成おめでとう! まだまだ道はながいですががんばりましょう。
とりあえずconio.hをインクルードしてgetch()使えば何かキーを叩くまで窓が閉じない。 コマンドラインから叩くのがいいんだけど。osがxpならpowertoysでどこでもコマンドラインに逝けるので楽。 #include<iostream> #include<conio.h> using namespace std; main() { cout <<"hello world"; getch();//これ入れとくとキー入力待ちになる。 }
もしここが質問する場所でないのなら警告してください。 テキスト読んで早速、1から150までの和を求めるコードで・・ main( ) { int x, y; y = 0; for ( x = 1; x <= 150; x++ ) { y += x; } printf("1+2+3+4+......+150 = %d\n", y ); } となりますが、「+=」の捕らえ方で躓きました(情けないです)。 この場合、x=x+yの意味なのはわかりますが、それをforで繰り返す ところで??? このコードでは、for1回目で得られたy+=xの結果をy1と考え、 for2回目で得られたy+=xの結果をy2と考え、以下も同様にして y150=y1+y2+y3+.......+y150 の計算が行われていて、つまり x2=x1+y といった風に、左辺のxと右辺のxは全く別のものと 解釈するのでしょうか? 手元の参考書にはそれらしき記述もないし、この程度の理解は 暗黙の了解なんですか? 先行き不安です。
欝だ・・・訂正です。
この場合、y=y+xの意味なのはわかりますが、それをforで繰り返す
ところで???
このコードでは、for1回目で得られたy+=xの結果をy1と考え、
for2回目で得られたy+=xの結果をy2と考え、以下も同様にして
y150=y1+y2+y3+.......+y150 の計算が行われていて、つまり
y2=y1+x といった風に、左辺のyと右辺のyは全く別のものと
解釈するのでしょうか?
>>425 とまぁ、こんな調子でございます。アハハ・・ハァ(;-_-)
本当に習得できるか不安。
ここは Borland C++ コマンドラインコンパイラのスレなので、C/C++ 言語向け初心者板にいくか、 身近のプログラマの友達に聞いた方がよいと思う。 ま、ついでですから。 あなたの疑問は結構正当かつ、よくある質問です。ですからあまり気にしないように。 1 から 3 の和をとるとして、for 文は繰り返しを指示する構文なのでこれを展開してみます。 y は 0 に初期化されているとして、 y = y + 1; y = y + 2; y = y + 3; この3行の意味は理解できますか?
>>429 たとえば test.exe として作ってるなら、ちゃんと
test HIKISUU1 argv2 3
のように実行してみたかな?
そのプログラムが置いてあったページの説明嫁
>>433 「y2=y1+x」を繰り返しても「y150=y1+y2+y3+.......+y150」にはならないし、そういう意味でもない。
xの値も毎回変わっていくから添え字がついて、「y2=y1+x1」。
それを繰り返すと「y151 = y150+x150 = (y149+x149)+x150 = ... = y1+x1+x2+x3+...+x150」。
y1=0で、xは1から150まで増えていくので、上の式は1から150までの足し算を表してる。
こう考えるより、「yという箱に、毎回xの値を注ぎ足していく」と考えたほうが直感的だと思う。
1回目はyの値が0でxの値が1だから0+1という計算をして、その結果yには1が入る。
2回目はyの値が1でxの値が2だから1+2という計算をして、その結果yには3が入る。
3回目はyの値が3でxの値が3だから3+3という計算をして、・・・。
左辺のyと右辺のyは同時に考えるんじゃなくて、右辺で今のyの値を使って計算した結果が新しく左辺のyに入る。
それにしてもみんなやさしくていいスレだな。
人が少ないうちは余裕があるからな
>>439 その記事を書いている人に聞いてみたら?
441 :
デフォルトの名無しさん :04/01/09 23:25
>>439 補完ファイルを解凍して中を見ればいいじゃん
bhcommon.ver,commctrl.rh,common.ver,crsmsg.inc,d3dvec.inl,dde.rh,
dtbase.cpp,dxhelp3.cpp,dxsurfb.cpp,fileopen.dlg,findtext.dlg,font.dlg,
icmui.dlg,ilogobj.hxx,msacmdlg.dlg,msacmdlg.h,msado15.h,msapcdlg.h,
msclus.h,mscpydis.h,msdadc.h,msdaguid.h,msdaora.h,msdaosp.h,msdasc.h,
msdasql.h,msdatsrc.h,msdetect.h,msdshape.h,msfs.h,msgemit.h,mshtmcid.h,
mshtmdid.h,mshtmhst.h,mshtml.h,mshtmlc.h,msi.h,msidefs.h,msimdb.h,
msiquery.h,msjetoledb.h,msp.h,mspab.h,mspaddr.h,mspbase.h,mspcall.h,
mspcoll.h,mspenum.h,msplog.h,mspst.h,mspstrm.h,mspterm.h,mspthrd.h,
msptrmac.h,msptrmar.h,msptrmvc.h,msputils.h,msregdb.h,msremote.h,
msshared.h,mstask.h,msterr.h,mstv.h,mswsock.h,msxmldid.h,mtsevents.h,
mtsgrp.h,mtx.h,mtxadmin.h,mtxadmin_i.c,mtxattr.h,mtxdm.h,multimon.h,
nal.h,naltypes.h,nddeapi.h,nddesec.h,neterr.h,network.h,newpst.h,
nladmin.h,nspapi.h,ntddndis.h,ntdsapi.h,ntdsbcli.h,ntdsbmsg.h,ntquery.h,
ntsdexts.h,ntsecapi.h,ntverp.h,objcreator.h,objectty.h,objerror.h,
objpath.h,objsafe.h,ocidl.h,odbcinst.h,odbcss.h,oid.h,oldplib.h,
ole2ver.h,oleacc.h,olectlid.h,oledb.h,oledbdep.h,oledberr.h,oledlg.dlg,
perf.inc,prnsetup.dlg,verinfo.ver,winnt.rh,winuser.rh
昨日、あの後少しforについて考えました。 自分のforにたいする考え方があっているかどうか確認するために 以下のコードを打ってみました。1〜3までを足してみようと。 main( ) { int x; x = 0; printf("%d\n", x += 1 ); printf("%d\n", x += 1 ); printf("%d\n", x += 1 ); } forを使わ無い場合どうしたらよいのか考えた結果です。 なんだか観点が間違ってるような気がしていましたが、結果は良好でした。
ああ・・また間違えた。上は1〜3を表示しようとした結果です。
明らかに着眼点がずれていますけど、1個目のprintfと2、3個目のprintf
の結果が違うということは、1回目のprintfが2回目のprintfに影響し、
それがforでも同じことが言えると確認できました。
で、
>>434 さんのアドバイスで
{
int x, y;
y = 0;
y = y + 1;
y = y + 2;
y = y + 3;
printf("1+2+3 = %d\n", y );
}
で良好な結果。おかげさまでようやく何かが掴めました。
結局
>>436 さんの解釈が妥当かつわかりやすいです。
上手く言いあらわせられないのですが、n行目の演算とn+1行目の演算は
独立ではないということですね。
そろそろウザがられそうなので名無しにもどり、質問板へ移ります。
お世話になりました。
>>435 できました。びっくりしました。
おつかれ
広い意味での「副作用」という概念を、ヒトが身につける瞬間だぁ。
ほとんどのプログラマがくぐり抜けてきた門なんだなぁ
>>444 ガンガレ
Visual Windows for BC++ やばくない?BCC55を含んでるやつインストールするとTurboDebuggerが・・・・
tb32.exe入ってなかったよ スクショ見て一つ気づいたのは エディタカーソル位置の解析(関数名表示etc.)がついてること BCC developer 1.2.18時点ではまだなかったっけ 俺はBCC developerと両方入れて両方競合せず使えてるって報告待ち
bcc55s.exe内部にあったのか。気づかなかったスマン こりゃ迂闊だね
何も考えずにmissing.exe実行してカレントがhでうまってヴァー
BCC developerは開発終了したいらしいね かわりに継続してくれる人募集してた かなり便利だから続けてほしいなぁ
開発終了か。悲しいなあ いろいろフリー入門を試したけど、余計なところに邪魔されず C/C++プログラミングに集中できるBCC developerに一番助けられた。勉強もはかどった まぁ、終了したからといって今不便があるわけでもなし これからも現役でバリバリ使ってくよ
453 :
デフォルトの名無しさん :04/01/11 12:43
>>453 これももう少しバージョンアップすれば使えるかもね
とりあえず強調表示とデフォルトフォントを・・・
webにサンプルとして上がってるWin32APIがらみのC++ソースを お手軽に一発ビルドできる環境が全部フリーで整うなら、 贅沢はいわないYO 実際、それが一番難しいことだったりする。 中の人がみなそう思ってるとは限らないんで。
>382 亀レスだけど、リアルタイム表示が上手くいきました avi作成もライブラリは見つけて、幸せになれそうです。ありがとん。
tasm32.exe需要ある?
>>457 需要はあるかもしれんがUPは犯罪。
NASMを使う人が多いんじゃないかな
>>457 tasm32ならBuilderXのフリー版についてくるがそれじゃダメなのかい。
他スレで質問したのですが、答えが得られなかったので、このスレで質問させていただきます。 Windows上で DLL を作ってるのですが、 DLLを呼び出すアプリは自作のものではなく、デバッガの使い方で困ってます。 ブレイクポイントを設定したりしてDLLのデバッグをすることは可能なのでしょうか? 環境はbcc+TurboDebugger と gcc+gdb です。
>>460 TD では可能です。gdb でも可能でしょう。
具体的にどういう問題を抱えているのですか?
>>461 レスありがとうございます。
どういう手順でデバッグするのかがわかりません。
DLL を呼び出すプログラムを TD で読み込んでも、デバッグ用の情報はないので、
"Program has no symbol table" と表示されます。
DLL 自体を TD で読み込んでも、"Program not found"と表示されます。
DLL をデバッグする時の基本的な方法がわかっていないので、
教えていただけると嬉しいです。
bcc32 -debug とかそんなスイッチがあったと思った。それを使えば、
デバッガ用のsymbol tableがオブジェクトに埋め込まれ、
ブレークポイントでTDでのデバッグができるはず。
肝心なのはdebugオプションをつけたときは
全部のソースを再コンパイルしなきゃいけないってこと。
bccでのdllづくりはこのあたりにも解説があるね
ttp://www.kumei.ne.jp/c_lang/bcc/bcc_11.htm
>>463 すみません、説明不足でした。
DLL の方は、-v -y オプションもつけて、デバッグ用にビルドしています。
問題は、その後のデバッグ方法です。
DLL を呼び出すプログラムは BCC で作られてはいなく、
デバッグ情報も埋め込まれてないと思います。
このような状況でのデバッグ法を知りたいので質問しました。
>>416 はどうよ
ASSERT、VERIFY、TRACE、どれも役立つと思うぜ
>>465 便利そうですね。
これから使っていこうと思います。
スレッドクラスってどうやって作ってる?
とりあえず保守
469 :
デフォルトの名無しさん :04/02/05 20:02
age
フリーなC++統合環境でお気楽にDirectXでゲームでも作ろうかなと思ったが
案外敷居高そうだなぁ…
とりあえず
>>67 >>242 >>299 ありがとう
471 :
デフォルトの名無しさん :04/02/14 11:49
windows2000上でコンパイルしたプログラムを実行したら 「NTVDM CPUは不正な命令を検出しました」 ってエラーが出る 同じソースをwindowsME上でコンパイルしたプログラムだと問題ないんだけどな
なぜここに
BCCでコンパイルしたプログラムだったから
ソース全部見せれば誰かが原因や対策をつきとめるかも知れないけど、 ただエラーが出るといわれても、いわれたほうは困るだけだな
475 :
デフォルトの名無しさん :04/02/14 18:32
まるまる全部だされてもそれはそれで困る
oオプション使ってコンパイルするとエラーが出るっぽい
o? -O ではなくて? command.com と cmd.exe でそれぞれプログラムを実行してはどうだ。
478 :
デフォルトの名無しさん :04/02/15 22:05
BC++を始めたいのですが、ダウンロードページが開けません。 もうダウンロードできないのでしょうか?
鯖落ちしてるだけで数日待てば直るとかか?
漏れも今日ネトカフェ逝ってDelphi+Kylix落とそうとしてだみだった。 生き返れボーラン!
見られるよ。
生き返ったね
484 :
デフォルトの名無しさん :04/02/17 11:39
Perlを昔やってたときに使った「crypt関数」を使ってC言語でも 暗号化をしたいのですが、うまくいきません。 とりあえずgoogleで検索して試してみたのですがcryptが定義されないとか出てしまいます。 #include <unistd.h> #include <stdio.h> int main (void) { char *salt = "nW"; char *pass = "pass"; printf("%s\n", crypt(pass, salt)); return 0; } どなたかご教授お願いします。
crypt()の前の<unistd.h>ではエラーが出ないのだろうか・・・
486 :
デフォルトの名無しさん :04/02/17 12:05
>>485 調べたらそのファイルがありませんでした。
wincrypt.hというのはあったんですが、これは違うみたいなのです。
どうやればいいのでしょうか・・?
487 :
デフォルトの名無しさん :04/02/17 12:28
暗号なんかいっぱい公開されてるし、違う奴使いなよ、とか言ってみる。
488 :
デフォルトの名無しさん :04/02/17 12:40
>>487 Perlのと同じ動作をさせたいのでcryptでないとだめなのです。。
検索するとC言語で書いたコードはあるのですが、
そこでインクルードされてるファイルが自分のところには無いのです。
こういうものってどこかで配布されてたりするのでしょうか?
rpmファイルをダウンロードしてみたのですが、これは利用できるのでしょうか?
489 :
デフォルトの名無しさん :04/02/17 13:21
491 :
デフォルトの名無しさん :04/02/17 13:48
やっぱり自分で作るしかないのかぁ・・ ちなみにMD5ではなくDESです。
492 :
デフォルトの名無しさん :04/02/17 13:49
apacheの認証なんかでも unix系の環境とwin環境でhtpasswordが違うのでそのまま転送しても使えない という話題が度々出る。 原因はもちろん、windowsのみMD5を使っているため。
494 :
デフォルトの名無しさん :04/02/17 14:04
.htpasswd
Windowsのみってわけじゃないが
496 :
デフォルトの名無しさん :04/02/17 17:36
BCCで簡単なGUIアプリを作る解説があるサイト無いでしょうか? ゲームとかではなく、単純に、入力ボックスに数値を入れて ボタンを押すとその値に応じて計算して、結果を表示するような簡単な GUIアプリでいいのですが。。
>>496 猫とか
/*
悪い事言わんから、おとなしくDel/BCBかVC#でもつかっとけ
*/
金があるなら問答無用でそのあたりを買っとくべきだな、本ごと。 無いなら猫とかその他いろいろやってみるのもよし。 質問する前に最低限のことを調べている程度の気合のある奴だ、とわかれば、 ちゃんと答えてくれる人もいるだろう。
検索キーワードをうまく選べない人なのかもな
>>499 ぐぐるのも2chに書き込むのも同じに考えてる人でしょ
おまいらが考えている以上に素人がgoogleを使うのは難しいらしいぞ
まず検索キーワードという発想がなかなか身につかないらしいね えんえんとリンクたどるだけだったり
昨晩からいろいろやってみたのですがうまくいきませんでした。
unistd.hというのを一般的には使ってるらしいのですが、米国で規制が
かかってるらしく私のところには入っていませんでした。
似たようなのを探して、
http://ghanyan.monazilla.org/trip.html というのを見つけたのですが、使い方がよく分かりません。
実際にcrypt関数を使うソースには、des.cとcrypt.hをincludeすればよいのでしょうか?
そもそも拡張子がcのものをincludeすることは出来るのでしょうか?
trip.hもincludeして、
printf("%s",get_2ch_trip( pw ));
としてみたのですが
エラー E2141 c:\BCC\include\des.c 320: 宣言の構文エラー
コンパイルエラーが出てしまいます。どのようにしたらよいのでしょうか?
Googleは慣れないエスカレーターに乗る難しさ
505 :
デフォルトの名無しさん :04/02/18 13:52
>>504 ('A`)ノ <何が言いたいのか理解できません。
┳━┳
>>505 ポインタに対する理解が全くない
取りあえず、配列の正しい使い方を覚えましょう
使ってる人には難しくないってことだ
>>506 田舎のおばあちゃんが、都会で働いている息子の家に孫の顔を見るため
はるばるやってきたが、駅のエスカレータに乗れなくてまごまごしている図
510 :
デフォルトの名無しさん :04/02/18 14:12
>>503 #include "des.c"する。
以下の関数をコメントアウト
strchr
_DllMainCRTStartup
__declspec(dllexport)があるなら削る。
printf("%s",get_2ch_trip("pw"));が動くようになる。
>>503 ソースを全部見てないんでよくわからんが、
そのソースは、ぎこはにゃ〜んで使うdllのソースじゃ?
dllとしてメイクするか、適当に書き直して使うかせにゃ。
あいや、かぶった。↑無視してちょ
>>505 ポインタは、文字列「ではない」。ただのアドレス変数だ。アドレスって知ってる?
まず配列を学ぶこと。それからポインタを学ぼう。
教えた経験が無いから、こんなサンプルで良いのかわからないけど…
#include <stdio.h>
int main(int argc, char *argv[]){
char buf[16], *p;
p = &(buf[0]);
*p++ = 'a'; *p++ = 'b'; *p++ = 'c'; *p++ = 0;
printf("%s\n", buf);
}
レスありがとうございます。
ポインタについてはCASL2をやってたことがあるのでなんとなく理解できました。
それで、新たにコードを書いてみたのですが、思ったとおりの動作をしませんでした。
printfで変数を書き出してちょこちょこ確認してみたのですが、
どうやら1桁目が終わって、
continue
を入れて2度目のループを開始させると配列chrが参照できなくなっていました。
1度目のループのとき、chr[0]とすると、「a」と出るのですが
2度目のループだとnullが出てしまいます。
そーす
・
http://www.uploda.net/anonymous/etc2/upload21489.txt
自分としては、1桁目が終了したらcontinueでwhileまで戻し、 2桁目を開始させ、s1[0]に'a'を書き込んだら、再起処理をし、 次に書き込むときはポインタを1つ後ろにずらして aa ab ac とさせようとしたのですが、エラーはでないのですが期待した動作をしませんでした。
>>514 パッと見だけど、s1用のメモリはどこに確保してるんだ?
5桁分のchar配列用意して 各桁をインクリメントしていくfor文をネストするんじゃだめなの? (桁数に対する汎用性がないけど)
>>514 >ポインタについてはCASL2をやってたことがあるのでなんとなく理解できました。
なんとなく理解できたって、
全く理解出来てないから、そんな訳の分からないソースになるんだって
>>516 メモリの確保は最初に決めないとだめなんでしょうか?
宣言だけしておいて、あとから確保ということはできないのでしょうか?
ご指摘の通り、メモリをとりあえず10だけ確保して、
strcatからstrcpyに変えてみたところ
a
.
.
z
aa
.
.
az
まではうまくいきました。まだ動作がおかしいのでもう少し直してみます。
そろそろ入門書10回通読指令出していいですか?
>>519 >宣言だけしておいて、あとから確保ということはできないのでしょうか
何処で確保してるつもりだったんだ?
> char *s1 = ""; ここで、s1には "" を格納するためのアドレスが入っていて そのアドレスの先には '\0' を入れるための 1byte 分のメモリしか 確保されていない。
再帰処理してやっと何桁でも対応できるようになりました。
どうもありがとうございました。
>>522 つまり*s1="a"とした場合、s1[0]のアドレスにa、s1[1]に\0が
入り、2byte分しか確保されないということでしょうか?
変数s1は桁数なので、桁数が上がるほど確保しなければならいのですが、
こういう場合も、やはり最初に確保しておくしかないのでしょうか?
とりあえず今はs1[10]としてあるんですが、9桁を超えた場合、
メモリが足りなくなって誤動作してしまうので、確保しなおしたいのですが。
某家電(量販)店が無償で配布されているオープンソースソフトウェアを自社開発と称して
自店商品の機能向上を謳って抱合せ販売していた模様。
また、この店ではオープンソースソフト単独でも販売し利益を得ていたようです。
開発元には、クレーム等の連絡先として開発者のメールアドレスを勝手に表記されていた為、
問い合わせメールが殺到し開発者のWebページが閉鎖に追い込まれています。(2004/2/16現在)
【店の身勝手で阿呆な言い分】
「これで有名になったんだから良かったと思ったほうがいい」
「ユーザーサポートの費用払ってやってもいい。
その代わりソフトの権利はウチの会社でもらう。月1000円」
「所詮タダで配ってるソフトだから誰の著作権も何もない、
ウチでつくってるといえばウチのもんだよ。」
詳しくは下記スレにて熟知せよ。
http://news4.2ch.net/test/read.cgi/news/1077067632/
>>523 malloc()とfree()を使うなり、アルゴリズムを見直すなり…
>>525 new() と delete()を(以下略
なるほど、動的にメモリを確保できるんですか。 Perlとかだとメモリの確保とか気にしないで出来たのでとっつきにくいですね。 C++だとnew()とdelete()がよいらしいのでこれを使ってみます。 どうもありがとうございました。
528 :
デフォルトの名無しさん :04/02/18 20:10
レス遅くなってすいません
>>510 さん
そのやり方でやったら確かに動いたは動いたのですが、
トリップとして出てきてしまいます。
perlのcrypt関数と同じ動作をさせたいのですが・・
スレ違いのような気がしてきたのでC++相談室に移動します。
申し訳ございません。
>527 c++ならstlつかえばresize()も簡単。だけどあんたの場合それ以前の問題外な状況だったわけさ
メモリ上でどんなことが起きているかをまったく理解しなくても 超(?)高級言語なら問題なく使いこなせるわけか… なんとなく怖い気もする
>>530 それはプログラミング言語の1つの理想なわけで
こわいっつーか安心だな
>>527 コンテナ使える所はコンテナ使った方がいいよ。
newやdeleteさえ自動的にやってくれる。但し中身が
配列だったりするとやはりnewは使わないといけないがな。
クラスのコンストラクタとデストラクタにそういう雑仕事を突っ込
んでしまえば vector<vector<Class> > という形で解決できる
事もある。
>>534 今は判らんでも、近い将来理解できるかもしれない。
出来るやつは、こういいうちょっとしたアドバイスを覚えてるもんよ。
>>527 氏はどうか判らんけど(w
ilink32でDLLを自作しました それにimplibをかけて*.libを作りました この*.libも含めて新規に*.exeを作成する時に ilink32のどこらへんに書くのでしょうか? ilink32のコマンドラインの書式の 真ん中あたりのobjsの部分の最後とか? それとも、書式の後のほうの[libs]のところとか? (import32.libの次あたり)
俺だったら、ilinkの書式を調べるの面倒だから bcc32のコマンドラインに追加する。 実用的には、.hにpragma commentで。
これってwindowsプログラムも出来る?
出来るよ。手間はかかるけど。
consoleアプリもwindowsプログラムだ! と主張すれば簡単にできる。
というかwindowsプログラムしかできないよなw
age
545 :
デフォルトの名無しさん :04/02/25 21:23
DOSのウインドウじゃなくて 普通のウインドウを表示するにはどうしたらいいんだ?
ふつーって
>>545 ”普通のウインドウ”は呼び出すんじゃなくて作るの
「猫でもわかるプログラミング」でぐぐって読んでみるべし
プログラムをBCCDeveloperから起動して、GetOpenFileNameを実行するとフリーズし、 ダブルクリックで起動するとファイルを開くダイアログが出るんですが、こういう症状の人他にいますか?
似た現象で昔めちゃくちゃ悩んだ。 色々調べた結果、どっかがおかしいらしい(==俺のせいではない)ことはわかったが、 どうすればいいのかを知る前にBCB買ってしまったので直し方は未だ知らん。 BCBのほうは問題無し。
さんくすです
developerの不具合対処っていうとデバッガ消せ、くらいしか思いつかないなあ 今ちょっとコード書いて調べてみるかな
BCCDeveloperのせいではなかったはず。
>>553 質問したものですが、ウチではダメでした。
>>554 そうなんですか。Developerを介さなければ問題はないので、まあこのままでもいいとします。
ありがとうございました。
>>556 紹介さんくす。でも解決しなかった・・・。
しかし自分だけじゃないことがわかってちょっと安心しました。
558 :
デフォルトの名無しさん :04/02/26 12:40
>>1 ってコンパイラついてんの?
俺コンパイラDLしていままでやってたんだけど
そりゃあまあフリー「コンパイラ」ですから
コンパイル「のみ」出来ます!!
>>560 リンクもできるしgrepやmakeもついてるしDLLからインポートライブラリも作成できる
>>555 うちはファイルダイアログが出ないって現象が起こったことがある。
その時は
ofn.lpstrFile = szFileName;
この辺の設定をする前に
memset( szFileName, '\0', sizeof( szFileName ) );
を入れたら動くようになった。
現象が違うので参考にならないかもしれないけど。
563 :
デフォルトの名無しさん :04/02/26 21:43
Visual C++ の __int64 (64bit整数) に相当する Borland C の型はなんでしょ?
>>563 __int64
Borland C++ 5.6.4 (C++BuilderX)ならlong longも使える。
当然、__int64ではないことを確認してから聞いてるんだよな?
>>562 俺もそれで悩んだことある。
ダイアログのデフォルトファイル名になるから "" で初期化しとかないといけないんだよなぁ。
4GB以上のファイルを書き出す簡単な方法知ってる方、教えてください。 Cマガのだといまいちわからないんで。 お願いします。
>>567 CreateFile, SetFilePointer, WriteFileで普通にできないか?
569 :
デフォルトの名無しさん :04/02/27 12:46
>>568 API使わないんで・・ 勉強してみます ありがとうございました
>567 Athlon64 / Opteronを導入する
猫でもわかるのBCC編を終わらせて 次にSDK編をちょっとやってみたけど、BCCdeveloper+BCCformでもいけるね。 > myProg.hbrBackground =(HBRUSH__ *)GetStockObject(WHITE_BRUSH); これだけ明示的にキャストしてやらないとコンパイル通らなかったけど、あとはスムーズ。
BuilderXでも結構イケル
>>572 個人情報入力するのがうざくてスルーしたんだけど落としてみるか。
BCCformって任意のフォルダに解凍できないんだけど、どうしてでしょうか
なんでだろうね。でもとりあえずデフォルトで解凍すればいいんじゃない?
576 :
デフォルトの名無しさん :04/03/03 19:39
初心者です BCCにBCCdeveloperを組み合わせて使ってるんですけどデフォルトのエディター がとても使いにくい。特に括弧{ を指定したら相当する括弧} が ハイライトされないのが私のような初心者にはつらいです。 色も少ないし。(これは設定できるのかもしれませんが) ためしにリソースエディタをsakuraに指定してみましたが何の変化も ありません。いい方法をご存知でしたら教えてください。
>>576 >初心者です
これ書くと答えてもらえないよ
>>576 BCCdeveloperでも使いにくいのかよ・・・
>>576 リソースエディタを変更してどうするつもりだ。
CTRL+「 [ 」 でとりあえず対処しよう
>>576 ソースの書き方(インデントの使い方)が悪い
一目で括弧の対応がわかるようなコーディングスタイルにしる
まさかそんな馬鹿な書き方しないでしょ。普通は。
世の中に馬鹿がいないとでも思ってるのか?
少し苦労するくらいがフリー環境っぽくて俺は好き
つーか逆に、VCとかって対応括弧がハイライトされるっけ? 俺はエクセルでしか見たことないが・・・
うちのvc6はハイライトされない。対応括弧へのジャンプはある
>>588 黒背景なのに文字見やすいね、ソースも綺麗だ
参考にさせてもらおう
インストールは楽だし、シンプルだし、よく手に馴染む使いやすさが心地よいな。
自分ではあまりカスタマイズしていないつもりだが、
手元のDeveloperは
>>588 とほとんど同じ外見だった。
フォントはゴシック9pt
>>588 文字が太いけどそれはどうやってやるんですか?
>>591 太字(B)にはしてません。
HG明朝Eというフォントを使ってます。
ディフォが一番見やすいなぁ。588のパッと見いいけど疲れそう
俺もデフォルトで使ってるけど、シンボル色変えると見やすいのは参考になりました
>>588 みたいにフォント変更したいんだけど、選べる項目が5つしかありません
項目を増やすにはどうすればいいのでしょうか?
>>596 ありがとう、買わないといけないみたいですね
猫でも(rの4章にある通りにやっても、 メニューの「実行」「実行」の部分が灰色のままでテストラン出来ないのですが、 それはこちらの環境のせいですか?
ソースができたら、コンパイル、リンクです。 ここでは、メニューの「プロジェクト」「メイク」です。
出来ましたどうもありがとうございます
またまたすいません。 今度は5章を飛ばして、6章に行ったのですが、 さっきは出なかった Error menu01.rc 4 11: Cannot open file: windows.h ** error 20018 ** deleting Release\menu01.res Make End !! (Elapsed time 0:02.829) というのが出てきてここから進めません。とりあえず、 menu01.cppがあるフォルダにIncludeフォルダの中のファイルすべてを コピーして<windows.h>を"windows.h"に変えたら出来たのですが・・・
俺はメニューの「プロジェクト設定」「リソース」「インクルードパス」
に、 〜\borland\bcc55\include を書いて対処した。
でも
>>602 のとおりかも
>>602 ウインドウだけでメニューが出なかったんです、記述不足でした
>>603 できました、ありがとうございます
スレ違いかもしれませんが…。 Winアプリの開発環境(C++)の購入を検討中です。そこでBorlandユーザの皆様にお伺いしたいのですが、 C++Builderは、Visual C++.NETと比べて、書籍が少ないこと以外に、何かデメリットはありますでしょうか?
>>606 ご親切にありがとうございますm(_ _)m そちらを覗いてみます。
BCCで最新のPlatformSDK使える? ライブラリがOMFじゃないから使えない気がする(というか無理だった) んだけど、その辺の解説してるリソースへのリンク等あれば教えてくだ さい。
>>608 implibでDLLから作成
coff2omfで変換
好きな方選べ
>>609 BorlandのCOFF2OMFは古い形式のCOFFしか対応してない(よね?)から
実質implibでDLLから作成するしかないか。
確かどっかでふつうにimplibしたんじゃ使えないような記憶があったんだ
けど、どうなのかな?
結局VC使ってDLL作ってそこからLIB作らなきゃならなかったような…。
TurboC++1.01のgraphics.h使ってみたのですが 警告 W8017 c:\Borland\Bcc55\include\graphics.h 12: マクロ '_Cdecl' の重複定義 エラー E2449 c:\Borland\Bcc55\include\graphics.h 244: 'far' のサイズが不明、あるいはゼロ ・ ・ ・ エラー E2228 c:\Borland\Bcc55\include\graphics.h 259: エラーあるいは警告が多すぎる 見たいな感じで使えません どうしたもんでしょう?
TurboC++でコンパイルしろよ。スレ違いだし。
>>612 あーいやgraphics.h入れれば使えるかなーと思いまして
ほかのコンパイラ探して見ますね
614 :
デフォルトの名無しさん :04/03/10 10:25
Cのソースをコンパイルしているのですが、 typedef strcut _hoge { int x; int y;} hoge; hoge foo[16]; int *ptr= &(foo[0].x); <--- コッチはエラーにならない int *ptr= &(foo[0].y); <--- コッチは E2063 不正な初期化 他のコンパイラ(CL)では通るのですが、これを回避する書き方はあるでしょうか?
615 :
デフォルトの名無しさん :04/03/10 10:35
>>615 typedef struct _hoge { int x; int y;} hoge;
hoge foo[16];
int *ptr1= &foo[0].x; //OK
int *ptr2= &foo[0].y; //NG
でも同じでした。
どうやら、構造体の最初のメンバーではOKで、それ以外のメンバーは計算が必要と判定されるようです。
でも、
hoge foo2; と配列でなく確保したら、
int *ptr3= &foo2.x;
int *ptr4= &foo2.y;
どっちもOKです。
色々逃げ道を探したけど、どうやら構造体配列に定数を加算するだけでダメなようで、諦めました。 結局 構造体配列と単純配列をunionして int *ptr=&( unionDt.array[1]); のように 逃げました。
うちだとこれで普通にコンパイル通るんだが‥‥ 5.5.1と5.6.4両方とも無問題 #include <iostream> using namespace std; struct hoge { int x; int y; }; main() { hoge sage[16]; sage[0].x = 2; sage[0].y = 4; int *p1 = &sage[0].x; int *p2 = &sage[0].y; cout << "x:" << *p1 << " y:" << *p2 << endl; }
>>618 それはローカル変数への初期化で、しかも C++コードだからでは?
ローカル変数の初期化は 試してみたらOKでした。
でもローカル変数でも、
int *test[]={
&sage[0].x,
&sage[0].y};
はダメでした。
CかC++かは関係ないところじゃないの? うちもすんなりコンパイル通るし同じコンパイラコアと思われるBCBでも問題ないよ
いやだから、ローカル変数の初期化なら CでもOKです。
Cでも引数の値との計算も出来ますし
C++なら普通の代入と代わりありませんから
>>614 の問題はグローバル変数や static 変数です。
hoge sage[16]; をグローバルにすると
>>618 のアセンブラ出力は
; int *p1 = &sage[0].x;
mov eax,offset _sage
;
; int *p2 = &sage[0].y;
mov edx,offset _sage
add edx,4
となりました。 どうやら、BCCだと
mov edx,offset _sage+4
というような変換が出来ない為に、グローバル変数の初期化も出来ないという事のようです
どうやってもそんなエラーでんな
E:\@Test>cat y.c #include <stdio.h> typedef struct _hoge { int x; int y; } hoge; hoge sage[16]; int *p1 = &sage[0].x; int *p2 = &sage[0].y; main() { sage[0].x = 2; sage[0].y = 4; printf("x:%d : y:%d\n", *p1, *p2); } E:\@Test>bcc32 y.c Borland C++ 5.6.4 for Win32 Copyright (c) 1993, 2002 Borland y.c: 警告 W8070 y.c 10: 関数は値を返すべき(関数 main ) Turbo Incremental Link 5.64 Copyright (c) 1997-2002 Borland E:\@Test>y x:2 : y:4
と、5.5.1だとエラーが出た E:\@Test>bcc32 y.c Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland y.c: エラー E2063 y.c 5: 不正な初期化 警告 W8070 y.c 10: 関数は値を返すべき(関数 main ) *** 1 errors in Compile ***
今試してみた。 bcc5.6.4(BCB6付属) だと問題なし。正常にコンパイル出来る。 bcc5.5.1(昔落としたfree版) だとコンパイルエラー。C++にしても初期化コードが発生。 たぶんbcc5.5のバグ。
あれ?今5.5を落としてきてコンパイルしたけど 問題なく通ったよ なんか環境依存するのか?
C++なら通るよ。静的な初期化にならないけど。
ってmainの外で初期化したやつの参照かいてるのか それ元々C言語の環境依存じゃない? mainの外はどういう順番で配置されるかわからんはず
>int *p1 = &sage[0].x; >int *p2 = &sage[0].y; これがmainの中なら問題なく通る mainの外だと5.5は通らない まぁ、mainの外でこれ書く各必要があるかどうかあやしいけどな 作業的に使うポインタを外に出すなんて設計が悪いんじゃねーの?
ポインタを使うかどうかではなく 静的変数(のメンバ)のアドレスを取れる(初期化できる)かどうかが問題なんだが。
↑コンパイル時に
そのアドレスがほしいのなら関数で取得すればいいだけのような気が int *getX(int no) って感じで 大規模アプリとか安全なコード書くときこういったのでフィルタしていかないとな
Borlandのフリーコンパイラを使おうとしているのだが
ttp://www.kumei.jp/c_lang/bcc/bcc_02.htm の「カレントディレクトリをtest.cのディレクトリに移動します」
というところで書いてある通りに打ち込んでも
「指定されたパスがみつかりません」とでてしまう。
入力ミスかと思い他人にやらせても同じ結果。
点々は「シフト+2」
通貨マークは「ろ」でいいんだよな?
エロイ人おせーて。
問題の本質と設計の是非は全然関係ないのに。
>>634 よーし、オジさんがエロエロ教えちゃる。
まず、君はWindowsの基本操作を覚えるべきだ。
それからコマンドプロンプトの操作も覚えよう。
それから、これがもっとも重要な点だが、
Windowsの基本操作もコマンドプロンプトの操作も
板違いの話題だ。プログラミング以前の問題だからね。
君がここに来るのは十年早いってことさ。
みんな親切だなぁ。
>>636 なんとか解読できたような気がしたけど
微妙に意味がわからない。
結局解読できてないんだよな(´д`)
英語ももう少し勉強しないとな・・・。
>>637 了解。なんとかやる気でカバーして1年程で戻って来たいよ。
>>638 OSはXP。
>>639 ありがトン。一番役に立った。
今それ見てやったら何故かしらんができたよ。
結局何が原因だったのか・・・。申し訳ない。
>>640 のいうとおり
こんなヘタレに親切にしてくれて皆様有難う。
もっと勉強してから来たいと思う。
>>641 最初からそのくらい謙虚だと、もうちょい親切に教えて
もらえたような気もするが、、、
普通にWindowsだけ使ってると、確かにdirectoryなんて
概念は身につかんからな。
とりあえずコマンドラインで dir cdが使えて
ドライブとカレントとパスの概念が分かってりゃ
「猫でも」を読むくらいなら何とかなるだろう。
がんばるよし。
そういや、MS-DOSを知らずに ls ls 打ち込んでパニクってたな……
スマン、オレはcygwinで dir してた・・・・
>>633 ソレは判ってるんですよ。
ただ、このコードDSPと共用なんで初期化コードも削りたいというのがあるんです。
と書けば、#if で条件分岐しろと言われそうだけど、それだと検証にならないから 出来るだけ同じコードで共用したいんです。
647 :
デフォルトの名無しさん :04/03/13 21:34
vi??
Borland C++ でWINプログラミングってできんの? あとできるのならどうやるかオシエテホスィ
>>648 これを Borland C++ でコンパイルしてみろ。
#include <windows.h>
int WINAPI WinMain(HINSTANCE i, HINSTANCE p, LPSTR c, int s)
{ MessageBox(NULL, "hello world", "HELLO", MB_OK); return 0; }
>>648 [ウィンドウズプログラムの作り方]
www.neco.nu/gohodoji/bccfaq/bccfaq.html#windowsprogram
652 :
デフォルトの名無しさん :04/03/14 22:57
教えていただきたいのですがBCCコンパイラでNcursesライブラリみたいなものはありますか?
653 :
デフォルトの名無しさん :04/03/17 20:30
コンパイルはどうやったらできるのですか? borland c++ terapadをダウンロードしてプログラムを書いたまではいいのですが、 コンパイルの仕方がわかりません。 ヘルプファイルも見てみたのですが、コンパイルの仕方は載っていませんでした。
656 :
デフォルトの名無しさん :04/03/17 22:52
readme.txt
素直にBCC Developerなどとの併用をお勧めする
BCCでインラインアセンブラ(MASM32)の解説してるサイト知ってる人いない?
DevC++はコンパイラじゃないよ。MinGWコンパイラ付属の総合開発環境。いや、おれ釣られた?
>>662 >>661 は最近2chのみならずあちこちのC/C++サイトにDev-C++
の宣伝を貼りまくっているヤシと恐らく同一人物。MinGWは標準
では日本語対応してないのでダメ文字の問題があるんですけど
それでも初心者向けだと思いこんでいるアフォ。
オマケに標準でついてくる日本語表示はリソースにバグがあって
そのままではメニューが化けてしまうという事を知らないらすぃい。
BCC Developer使ってDLL作ってるんですけど ___CPPdebugHook なんてものがエクスポートされちゃいます。 Releaseでもです.。これ消すにはどうしたらいいんでしょう?
#include <stdio.h> main() { long itteyoshi; unsigned char omaemona; scanf("%d",&itteyoshi); scanf("%d",&omaemona); printf("%d \n", itteyoshi); printf("%d", omaemona); return 0; } と、プログラムを書いてみたのですが、 例えば、5 6と入力すると 0 6 と出てきて、最初の値がきちんと表示されません。 どこがおかしいのですか?
>>665 二回目のscanfで一回目に読んだ値が上書きされてるから。
例えば 0 1286 と入力すれば 5 6 と表示される。
というかなんでこの板の人々はscanf好んで使う上に戻り値をチェックしないのだろうか。
scanfとか好きだからー!
scanfは死にませーん!
すいません、
>>670 さんの紹介されているサイトに行ってみて、
scanfは使うなということがわかったのですが、
どうすれば
>>665 に書いたプログラムが
意図したとおりに動くのかわかりません
おしえていただけませんか?
BCCでGLUTを使ってるのですが、コンソールアプリケーションで コンソールを開かないようにするにはどうしたらよいでしょうか?
てきとう。 #include <stdio.h> main() { long itteyoshi; unsigned char omaemona; long itteyoshi2; unsigned char omaemona2; scanf("%d",&itteyoshi); itteyoshi2=itteyoshi; scanf("%d",&omaemona); omaemona2=omaemona; printf("%d \n", itteyoshi2); printf("%d", omaemona2); return 0; }
ほんとに適当だなw
>>674 ありがとうございます。
このプログラム大切に使わせていただきます。
ほんとにほんとにありがとうございます。
>>665 マジレスしちゃう。
>666氏の言ってる事わかってるか?
charな変数にscanfで読みこむ時は"%d"じゃなくて"%c"だ。
"%d"で読みこむと他の変数を上書きしちゃうってことだそ。
>>678 わかってませんです・・・
#include <stdio.h>
main()
{
long itteyoshi;
unsigned char omaemona;
scanf("%d",&itteyoshi);
scanf("%c",&omaemona);
printf("%d \n", itteyoshi);
printf("%c", omaemona);
return 0;
}
ってことかと思ったのですが
最初に入力した値が二度出てきてしまいました。
( ´・ω・` )
(´-`).。oO(longにもunsigned charにもscanfは"%d"で良かったかなぁ) (´-`).。oO("%c"で受けたら0x0aを読んでしまうのではないだろうか)
>680 unsigned charは0-255までの値が入るのではないですか? >678 "%d"で読みこむと他の変数を上書きしちゃうってことだそ。 これはなにがなにやらさっぱり なぜ他の変数を上書きするのですか? いったいどんな歴史があってこんな文法になったのですか?
>>681 scanf のfはformatedだそうで。
もともとは書式のかっちり決まったデータを1行ごとに読む込むのが目的の関数でね。
~~~~~~~~
scanf( "%d %c", &itteyosi, &omaemona );って書けるのは知ってた?
普通に答えてるからまあいいけどさ、なんで
>>665 はここで質問してるのかな?
>>683 確かにスレ違いなんだよな(w
まぁ、普段ネタの少ないスレだから俺的には気にしないけど。
今のインシデントがけり付いたら次からは移動かな?
>>684 >>681 氏に取り敢えず必要なのはCの基本でしょ。
すいません スレ違いとは気づきませんでした。 多分私はまだ人に質問できるレベルではなかったんです。 本を読んで精進してきます。 失礼しました。
ガンガレ
689 :
は ◆cplnFO9T0I :04/03/23 13:03
tlib
691 :
は ◆cplnFO9T0I :04/03/23 13:18
>>690 TLIBまではわかったんですが使い方が良くわからなくて。
>>692 ヘルプって英語だと思ってたから読まなかったんですけど、
日本語とわかったので理解できるまで読んでみます。
俺も日本語しか読まねーと思ってた初心者時代があったなぁ
そのオブジェクトファイルはBCCが吐いたものなの?
俺が吐いた
いや俺が吐いた。
お前か、こんな所にお好み焼きを作ったのは?
キミはお好み派? もんじゃ派?
酸っぱもんじゃは嫌いです。
じゃあ、消化途中のお好み派だね。 誰か俺たちを止めてくれよ。
>>698 今夜食にお好み焼き喰ってたのに言うなよ
ここは面白いインターネットですね
ゲロ料理の話は板違いですよ
bccでANSI Cを勉強し始めたんですが、 #include <stdio.h>int main(){printf("HelloWorld");return 0;} こんな感じで1行にまとめられないなんて、 LSI C-86 試食版に負けてますね・・・_| ̄|○
見づらいから
プリプロセッサ指令とソースを同一行に書く香具師は基地外
リソースのコンパイル時、プログレスバーの設定 PBS_SMOOTH でエラーが 発生してしまうんですが、なんでか知っている人います? VC++ で作成したリソーススクリプトを BCC にもってきたんだが、コンパイル時エラーで 構築できなくて、PBS_SMOOTH を外したら構築が完了したから気になった。 PBS_SMOOTH 無くても PBS_SMOOTH を付けたのと同じ外観なんで良かったんだが… 逆に VC++ で PBS_SMOOTH を付けない外観と同じにするにはどうすりゃ良いんだ??
エラー書けと #if (_WIN32_IE >= 0x0300) #define PBS_SMOOTH 0x01 #define PBS_VERTICAL 0x04 #endif
BCC固有かもしれないのでこっちに投げてみますが BYTE a = 0; DWORD b = 0; if (a == b) .... というように BYTE と DWORD を比較すると >警告 W8012 xxxx.cpp 29: 符号付き値と符号なし値の比較 と出てくるんですが、どういう理屈でこうなるのでしょうか。 どうも BYTE が int か long に変換されているような気配なんですが、 比較時に適用される型変換規則ってありましたっけ。算術演算だとこの場合 BYTE は unsigned long に変換されると思うんですが。
書き忘れました。BCC5.5.1を使って試しました。
signed int で unsigned int のビットフィールドは表現できるので signed、らしい。
Borland C++BuilderXのほうには新しいバージョンのコンパイラが 入ってるみたいですけどこのコンパイラを使った場合も 商用利用できるのですか?
BuilderXと同じ規約だろう
しょもない質問かもしれんけど、C++ Builderも無料版あるんだけど こっちは何故に話題に上がらんの?
>>717 そんなものはない
trialかfree compilerの事では?
もしあれば喜んで使うが
これは体験版(trial)に見えるけど…
trialなのですか…… しゅんまへん。
せっかくDLしたんで中見てみたらvctobpru.exeとかって便利そうなのありました。
724 :
デフォルトの名無しさん :04/04/14 16:32
ウインドウを表示するプログラムで困っています。 環境はBCC5.5.1、WinXPです。 ソースプログラムは猫でもわかる〜のWindowsSDKの始めのサンプルなんですが、 WM_DESTROYメッセージを拾ってPostQuitMessage(0)してウィンドウプロシージャを 抜けた後、WinMainに戻るまでの途中でAccessViolationの例外が発生して停止してしまいます。 停止箇所はUser32.DLL内のGetClassNameA関数内らしいのですが、 なぜそんなところで発生するのかわからなくて困惑しています。 偶然Admin権限でデバッグしていたところ例外が発生しなかったので、 実行環境に問題の原因があるのではないかと考えているのですが 解決案などありましたら教えてくださいませ。
UNICODEモードでコンパイルしてるけどソースの文字列はANSIとか、 その逆とか、そういうことはないのかな。
すみません 仰っているUNICODEモードというのがまだよくわからないんですが、 コンパイラオプションの-WUとか#define UNICODEとか、 そのあたりはまだ勉強してないのでUNICODEには一切触れてないです。 コンパイルはBCC Developer任せで ターゲットに「Windowsアプリケーションのオプション(-W)」を指定しています。
サンプルプログラムのURLです
ttp://www.kumei.ne.jp/c_lang/sdk/sdk_00.htm ウインドウを表示して、閉じるボタンで破棄するWindowsの初歩的なプログラムです。
他の勉強サイトなどでもほぼ同様のプログラムが紹介されているので
ソースに問題があるのではないと思うのです。
例外が発生する場所がウィンドウプロシージャの外なので、
実際にどんな処理をされてWinMainに復帰するのかよくわからないのです。
>>728 ??
ソースそっくりそのままコピーしたが、特にエラーが発生しませんでしたよ?
当方環境:Win98SE
オプションは、-Wを指定しただけ?
ClassNameで引っかかっているなら
char szClassNme[] = "ウィンドウクラス・ネーム";
↓
char szClassNme[] = "WndClassName";
に変えてみるとか…駄目?
Borland C++ 5.6.4 for Win32 Copyright (c) 1993, 2002 Borland d:\borland\skinnedmesh\mload.cpp: エラー E2285 d:\borland\skinnedmesh\mload.cpp 803: 'min<>(int,unsigned long)' に一致するものが見つからない(関数 CMyD3DApplication::GenerateMesh(SMeshContainer *) ) エラー E2285 d:\borland\skinnedmesh\mload.cpp 856: 'min<>(unsigned long,int)' に一致するものが見つからない(関数 CMyD3DApplication::GenerateMesh(SMeshContainer *) ) エラー E2285 d:\borland\skinnedmesh\mload.cpp 861: 'min<>(int,unsigned long)' に一致するものが見つからない(関数 CMyD3DApplication::GenerateMesh(SMeshContainer *) ) *** 3 errors in Compile *** dxsdkサンプルのskinnedmeshですが上のエラーでコンパイル出来ません。 誰かできた人いますか?
>>729 駄目でした。
Admin権限ユーザーでデバッグすると何事もなく無事に実行できますので、
ソースにエラーが発生するような要因はないと思います。
逆に考えると権限とかは関係なくて、
私のマシンのAdminユーザー環境はあまりいじってないので
皆様の使用している環境に近く、それ故に問題が発生しないだけで、
普段私が使用している一般ユーザー環境のなんらかの設定がよくないからとも考えられます。
どちらにせよ直面している問題は
実行した(デバッグした)ユーザーによって、うまく動かないことがあるということです。
もとよりユーザーの環境によって処理を変えるプログラムというわけではないですし、
無事に実行できる環境だけで作業すれば問題からは開放されますが、解決になりません。
>>732 ただのUsersの時です。
念の為borland\bcc55以下のフォルダにフルコントロールを与えてます。
BCC Developer経由でTD32でデバッグすると
Stopped on exception throw と云われ、
毎回同じUser32.dll内で止まっています。
>>733 サイト紹介ありがとう。
実は一年程前にも挑んだ事があり、その辺はクリア済みです。
Direct3DサンプルのBillboard等、比較的簡単そうなのはビルド
出来るのですがskinnedmeshがコンパイル出来ないのです。
解決しました。
Adminでログオンして作業しても例外が発生しました。
どうやらログオンしているのとは別のユーザーで実行すると問題なく処理できるようです。
ということで、実行環境に原因があるということになりました。
そこで常駐プログラムを切ったところ、問題なく動作しました。
どうやらTakubonさんのIME Watcher reduce ver1.00使用中に発生するようでした。
ttp://homepage3.nifty.com/takubon_world/index.html どういう仕組みで影響を受けるのか分かりませんが、とりあえず原因が見つかりました。
色々とアドバイスを下さった方々、ありがとうございました。
そして、どうも皆さんお騒がせしました。
乙
とりあえずトイレに逝ってくる
>>738 キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
・・・と思ったが、中身貧弱杉。
(゚听)イラネ
.net Framework SDKも落とせばfreeBCCと同等 PSDK落とせば一通りのことが一応出来る
最適化なしのBCCでは勝ち目なしだな。 向こうはDirectXも普通に使えるし(当たり前か)
一応BCCにも最適化はあるぞ しかしライセンス次第ではVS.NET2003買ったのが無駄になったかな 腐れIDEなんぞいらんし
BCCDEVみたいなのがあれば使ってみたいな。
すぐに誰か作るよ。おそらく。 C++BuilderXやeclipseも対応するかもね。
Visual C++ Toolkit入れて、Readme.htmのNext Stepsにしたがい Microsoft Platform SDK DLサイトいったけど、XMLがどーたら出て 肝心のpsdkにたどり着けん・・・・・・ XML Parser 3.0 SP4 SDKまでインスコしたのにぃー 美奈さんはだう?
>>746 Toolkit 2003 ReadmeからPlatform SDK Updateのページにいって
Windows SDK→Install this SDK!
インストールしたいSDKを選んでContinueを押せばインストール
できるはず。
どれが要るかわからないなら、とりあえず Core SDK だけ入れて
あとは必要に応じて追加インストールすれば良い。
どうしてもダメなら Downloads の Full Download から全部ローカルに
DLしてからインストールするが良し。
BC++、VC++、MINGW揃えて塩漬けに するだけの奴結構いたりして。
>>749 更にWatcomとDigital Marsも加えてハードディスクの肥やしにしてますが何か?
>>752 ブラウザはIE6っす。
FWのせいかも知れない。とりあえずDL終わりました。
関連スレが幾つか有りマルチっぽくなりそうなので、最初に来たここで報告。 BCCじゃコンパイル出来なかったdxsdkサンプルですが、Platform SDKインスコ、 cl.exeでコンパイル出来ました。まだmake入れてないので全部は確認出来ない のですが。 色々教えてくださった方々、ありがとう御座いました。
BCCってもうバージョンアップしないのか?
>>756 インスコしてみた。いい感じ。
情報ありがとー
ReloはVC++対応しないのんかな フォーラムもあんま流行ってないようだが・・・・・・
Reloいい感じだなぁ。 VC++ 6.0持ってるから対応してほしいなぁ。
Relo最初はいいと思ったけど、Visual C++ Toolkit 2003とか一通りインスト 終えて、本腰入れて使ったらなんかまだまだって感じだった。
Borland C++ Compiler 5.5をダウンロードし、 パスなどの設定は勝手にやってくれるやつで完璧に終わったとおもいます。 自分の持ってる本のとおりに、 #include<stdio.h> int main(void) { printf("松島や ああ松島や 松島や\n"); return 0; } ってソースファイルをprog2_1.cという名前で保存しました。 コマンドプロンプト(でいいんだよな?)にbcc32 prog2_1.cと入れると、 「’bcc'は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認証されてません。」 と出ます。なにが悪いんでしょうか?
>761 よくわからんが、パスが通ってないと思われますが。 詳しい人、解説よろしく。
パス設定が完璧に終わったか、思うだけではダメ。 あらゆることは実際に見て、きちんと確認せよ。確認したなら、確認したと書くべし。 コマンドプロンプトで path と入力する。そこにインストールした場所がちゃんと含まれているか見よ。
>>763 アルファベットがたくさんでます。
どう表示されてればいいんですか?
たくさん・・・
インストールした場所がどこか、も書けないのか。どうやって教えたらいいのかワカンネ
>>763 保存したドライブ名のあとにBorland\Bcc55\binと出てるがこれでよかとですか?
>764 アルファベットがたくさんって、あんた・・・。 本当に理解したいなら、もう少し答えようのある書き方しなさいな。 ひよこみたいな頭と誤解されるよ。
昨日ヤマダ電機でパソコン買って、エクセルで表計算するような、 そんなレベルなら「アルファベットがたくさんでます。」でいい。 仮にもプログラムしようと言う人間がそういう返事では先が思いやられる。 質問に答えたとして、今度はどんなくだらない返事をされるかわからない ので、自力で勉強してください。 なんか付き合ってると「プログラム動きましたが、つまらないんですけど。」 とか言いそうでいや。
プログラムが動くことほど感動的なことはない と言ってみる
確かに。 俺は初めて N88BASICで 日の丸描いた日にゃ感動したね 俺は初めて HTMLで 簡単な文書を表示した日にゃ感動したね 俺は初めて JavaScriptで 簡単なゲーム作って遊んだ日にゃ感動したね 俺は初めて Perlで掲示板作った日にゃ感動したね 俺は初めて Apacheを自分のマシンで動かした日にゃ感動したね 俺は初めて Cでじゃんけんさせた日にゃ感動したね 以下略
はじめてOSをクラッシュさせた日: プライスレス
775 :
デフォルトの名無しさん :04/04/27 22:07
初めてBCC使うんだが、コンパイラができない。 使っているのは5.5。 症状は、プロンプトの表示上では成功しているし、Hello worldのプログラム「hello.c」をコンパイラすると 「hello.obj」「hello.tds」「hello.exe」のファイルが作られてちゃんとできてるように見えるんだが、 「hello.exe」を起動させても一瞬で消えてしまう。 「bcc32.cfg」「ilink32.cfg」はちゃんと設定したから、問題はないと思う。 一応「hello.c」の中身も #include<stdio.h> int main() { printf( "hello, world!\n" ); return 0; } 「hello.c」にいくら書き加えても、作られる3つのファイルのファイルサイズが変わらないというのが気になるが・・・。 どこに問題があるんだか全く分からないんだが、教えてエロイ人。
猫でもわかるプログラミングのC言語編を最初から読むことをお勧めする
>>775 stdlib.hをincludeしてmain関数のreturnの前に
system("pause");
と入れれ。
779 :
デフォルトの名無しさん :04/04/27 22:58
レスサンクス。 かなり房な質問だったみたいだ、スマソ。 初心者だから、って言い訳は使いたくなかったが、マジで初心者質問しちゃったな...
getchar();じゃあかんの?
>>781 getchar()は通常バッファ入力なので、'\n' [enter] 以外のキーでは
反応しないので少しうざい。
>>773 日の丸を表示するなどとは軍国主義の極みなのですぐに謝罪しなさい
MMLで鳴らせ君が代
やはり太極旗か五星紅旗でないと w
788 :
デフォルトの名無しさん :04/04/28 22:23
改行の多いネタは嫌われる、、、間違いないっ
791 :
デフォルトの名無しさん :04/04/30 01:20
792 :
デフォルトの名無しさん :04/04/30 11:24
793 :
デフォルトの名無しさん :04/04/30 11:41
(n‘∀‘)η
GetOpenFileName関数が必ず0を返すようなんですが(ダイアログが開かない) 色々なサイトのサンプルソースでも開きませんです。 どなたか助けてください……。 WIn98SE / BCC 5.5.1 / (他に必要な情報があれば言ってください)
796 :
デフォルトの名無しさん :04/05/01 04:32
>>795 BCCでWin9xでその関数使うとそうなる。
あきらめろ。
漏れもそれではまったんで、BCCは捨ててVC買った。
>>796 >>797 まさかこんな落とし穴があったとは……。
MS社製以外のコンパイラを使う時はこういう問題あるという覚悟が必要なんですかね。
お二方どうもありがとうございました。泣きそうになってましたです。
むしろ覚悟が必要なのはWin98を(ry
VC++でも同じだぞ
801 :
デフォルトの名無しさん :04/05/03 23:45
すみません 質問があるのですが BCCをインストールして色々設定して コンパイルしてHello Test まで出せるようになったのですが 手順がめんどくさくて・・・ 最初コマンドプロンプト起動したら C:\Document&setting\XXX¥> になっているので >cd MY Documents を追加して >cd Sample までやらないといけないのですが 一気にマイドキュメント内のサンプルまで行くことはできないのでしょうか?
>>801 コマンドプロンプトのショートカットを作る
プロパティ>作業ディレクトリ "C:\My Documents"
フォルダ右クリ>プロンプトでそのフォルダで開かん? ダメならPowerToysインスコ汁
追加しとくと 804のような使い方をしたければ、「いじくるつくーる」インスコして 直接ファイルアイコン右クリから、「1階層上でコマンドプロンプト」が便利だと思う。
プログラミングで使うことを意識したテキストエディタなら、たいていシェルへのコマンド送信や、 カレントディレクトリでシェル(コマンドプロンプト窓)を開く機能がついていると思うが。 何でコーディングして居るんだ?
808 :
デフォルトの名無しさん :04/05/04 14:01
>>802-
>>806 色々情報ありがとうございます
PC初心者なので変な質問すみやせんでした
809 :
デフォルトの名無しさん :04/05/04 14:13
>>801 コマンドプロンプトへのショートカットのデフォルトディレクトリを
設定すればいきなりそこに開けるよ
そうすれば、
C:\Documents and Settings\canal\My Documents\MyCode>bcc32 -c test.c<cr>
とかすぐ出来るけど、個人的には深い階層が好きくないから、
別のドライブのルートにディレクトリ作ります(笑
811 :
デフォルトの名無しさん :04/05/09 08:19
もれのボーランドは、インクルードファイルが開けませんと言ったり、なんだか 環境変数か、保存したディレクトリが悪いのか、全然動いてないみたいなんでつ。 助けてください。
814 :
デフォルトの名無しさん :04/05/09 10:26
TDがちゃんとなくなってるねw
ってかだめだこりゃw スタートメニューからFooty.dllがないと言って起動しないし 自分のいるディレクトリわかってないのかw Windows2000 Version 5.0ってなんだよw Windows NT 5.0だろ
817 :
デフォルトの名無しさん :04/05/09 10:49
816さん>>僕もやってみましたw
ちゃんとボーランド動いてくれました。 なんか、気分爽快です。ありがとうござんした
819 :
デフォルトの名無しさん :04/05/09 12:15
userenv.hの中で GetUserProfileDirectory が、宣言の所とコメントの所で GetUserProfileDirectory GetUserProfilesDirectory のように、違っているのですが、 いったっいどちらが正しいのですか?
820 :
デフォルトの名無しさん :04/05/09 21:26
あー、DirectX9.0bが使えん。 既出のサイトに載ってる手法は全部試したんだが、 Direct3DCreate9だけ外部シンボルが解決されないといわれる。 誰か教えてください。
821
823 :
デフォルトの名無しさん :04/05/12 17:37
DirectXSDKのd3d9.libをリンクしてるに1NULLPO
誰もいない・・・みんなVCの方に流れちまったのか?
全体的に話題が尽きてきただけと思われ。 VC++ Toolkitの方も当初の勢いは無くなってネタレスが増えてきたし DigitalMarsやOpenWatcomに至っては開店休業状態だし。
BCBスレもネタスレになりつつあるからな
過疎化してるなぁ・・・とりあえず保守
WindowsXPでborland使ってる初心者です。 sinカーブのグラフを書きたいのですが、ネットでソースを見つけたところ下のようなものを見つけました。 #include <stdio.h> #include <string.h> #include <math.h> void main(void) { char p[21]; int ts,tc; double rd,n; rd=3.14159/180; printf(" -1 0 1\n"); printf(" I....+....I....+....I\n"); for(n=0;n<=360;n=n+15){ strcpy(p," I "); ts=(int)(10+10*sin(n*rd)); tc=(int)(10+10*cos(n*rd)); if(ts==tc) p[ts]='+'; else{ p[ts]='*';p[tc]='o'; } printf("%5.0f %s\n",n,p); } } これをコンパイルしてみたのですが、テキストを使った擬似的なものしか表示できません。 普通のグラフのような滑らかな曲線を表示させるためにはどのような方法があるのでしょうか?
GDIとかDirectXとかOpenGLとかSDLとかその他いろいろ まずは、標準出力以外にも出力方法があることについて調べよう
832 :
デフォルトの名無しさん :04/05/25 19:25
>829 少なくとも、コンパイルするまえにどういう表示がされるかわからないことには グラフィック使ってどうこうするのは無理でしょう。 もう少し自力でがんばってください。
>>829 その前にwindowsプログラミングを覚えたほうが早そうだな。
とにかく勘違いなレスだから勉強しなおし。
termio.hないんかこれ。
#include <okuda/termio.h>
STLPort はどうやってビルドするのん? bcb55.mak を使ったら、エラーで即死した。
837 :
デフォルトの名無しさん :04/06/06 08:56
int main(int c, char **v) { return main(c, v); } これをコムパイルして実行しても、エラーもなにも出ないで直ぐに終了してしまうの。 スッタクオーバフローとか出るべきでないの? かん境はWindowsXPです。
現在Win98SE+BCC5.5.1で開発しているのですが、 BCC+Win9xではGetOpenFileName関数が使用できないようなのですが、 何か、これの代わりになるものはあるのでしょうか? どうかよろしくお願いします。
どうにか表示できるようになりました。 ご助言ありがとうございました。
げんきなくなったなあ、このスレ。
もともとこんなもんだろ
847 :
デフォルトの名無しさん :04/06/17 22:02
タダで使えるVisualC++スレができてから物凄く寂れたような
誰かC言語を無料でダウンロードできるサイト教えれ糞ども
こりゃまた壮大な要求ですね
STLPortのフォーラム見てきたら、「4.5.3ならビルドできるよ」って 書いてあったんで、今からがんがります。
853 :
デフォルトの名無しさん :04/06/18 21:42
スレ違いでここに誘導されました。 BCCで質問があるんですが #include <stdio.h> #include <stdlib.h> main() { printf("Hello\n"); } こんなソースをコンパイルした場合に、 Error: 外部シンボル '_main' が未解決(C:\BORLAND\BCC55\LIB\C0X32.OBJ が参照) と出ているんですが、何が原因でしょうか。 初めてBCCを使うんで、何とか初期設定が終わって、コンパイルできるか試したんですが…
855 :
デフォルトの名無しさん :04/06/19 02:07
>>854 多分違うな。
スタートアップルーチンを取り込めてるぽ。
>>853 エラーメッセージはそれだけじゃないだろ?
それを書いたソースがコンパイルできてないんじゃないか?
*.c → *.obj はできてるか?
856 :
デフォルトの名無しさん :04/06/19 22:14
857 :
デフォルトの名無しさん :04/06/20 02:41
860 :
デフォルトの名無しさん :04/06/20 18:30
リソースメニューのチャックマークが良く分からないです。 メニューに[オプション]を作って、 その下に[ゴシック][明朝]の2つのメニューを作りました。 デフォルトでは[ゴシック]にチェックが入るようにしました。 [明朝]を選んだらチェックが[明朝]に移るようにするには どうすればいいのでしょうか? bccformおよびbccdeveloperを使用しています。
ここじゃなくて Win32API スレの範疇だが……
>>860 CheckMenuItem、あるいは SetMenuItemInfo を使って自力で変更する。
862 :
デフォルトの名無しさん :04/06/21 15:58
今やC#Biluderが無料だからな
>>861 上手くいきました
ありがとうございます
>>862 日経ソフトウェアでC#BuilderでDirectXを使う記事が載ってるね
即死だと思ってたのに無料は強いな
865 :
デフォルトの名無しさん :04/06/22 12:16
質問: アニメーションさせるにはどうするの?
867 :
デフォルトの名無しさん :04/06/22 12:54
警告のLVを最大にするオプションを教えてください。 -wが見つかったのですが、-w***を全て付けたと同じ事になるのでしょうか。
>>867 >どの警告メッセージを表示するかを選択するには,このオプションを使用します。
>
>すべてを表示
>(コマンドラインオプション: -w)
>
>すべての警告およびエラーメッセージを表示します。
>デフォルトではチェックされていません。
>>868 分かりました。ありがとうございました。
872 :
デフォルトの名無しさん :04/06/26 21:04
874 :
デフォルトの名無しさん :04/06/27 09:16
開発環境WinXP,Borland C++です。
GLIBW32
http://www.asahi-net.or.jp/~uc3k-ymd/Glib32/glibw32.html というのを試しているんですが、例えば
#include "glibw32.h"
int main()
{
ginit(300,320);
loadbmp("test.bmp");
gend();
return 0;
}
というのをコンパイルしようとすると、
■D:\C\CARD> bcc32 loadbmp01.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
loadbmp01.cpp:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: 外部シンボル 'ginit(int, int, int)' が未解決(D:\C\CARD\LOADBMP01.OBJ が参照)
Error: 外部シンボル 'loadbmp(const char *, int, int)' が未解決(D:\C\CARD\LOADBMP01.OBJ が参照)
Error: 外部シンボル 'gend()' が未解決(D:\C\CARD\LOADBMP01.OBJ が参照)
と表示されて実行されません。
夜通し考えてましたが原因がまったく分かりません。
おそらく
>>853 と同じ原因な気がするんですが・・・。
glibw32.libをリンクしる
うぁ、できました。 ありがとうございました。 これで寝れます。
877 :
デフォルトの名無しさん :04/06/27 13:59
5.5.1を使っているのですが、関数内での変数の宣言は 関数の先頭に記述しないといけないのでしょうか? 途中で宣言したら駄目ですか?
>>877 拡張子をcppにするかC++コンパイルするオプションをつけろ
>>878 拡張子はcppにしてるんですけど、
「エラー E2451 hoge.cpp **: 未定義のシンボル ・・・」
のようなエラーが出るんです。
すいません、勘違いでした。
>>881 よくわからん。Cでもブロックの始めなら変数の定義はできるって言いたいのか?
>>859 Win98で動いて、プリコンパイルドヘッダが効くメジャーなコンパイラが
これしかないので、まだまだ続きます。
実行結果が日本語ででるしな
このこんぱいらは、Windows98SE で、DeviceIoControl()は使えそうですか?
BCC Developer バージョンアップ DMonkeyが使えるようになった。
おー なんだか凄そう
readme.txtに書いてあるコードをfoo.dmsに書いてそれを 環境設定/マクロ で登録して使ってみた。あたりまえだが無事使えた。 ショートカットキーへ登録して高度な編集を一発で行ったりできるのかな。凄そう。
889 :
デフォルトの名無しさん :04/07/10 00:40
落とせるから安心しる
>>889 もしかして解凍ソフトという存在を知らないのではないか?
どうすればいいですか?って言われても書いてある以外のことは・・・ ilink32.cfgとbcc32.cfgを直接右クリックからダウンロードして、拡張子の .txt消せ 解凍とか拡張子変換わかんないとつらいぞ
>>889 >とあるのですがそこは開けませんでした
ダイアログで「開く」を選択したが解凍ソフトがインストされてなかったに5000コンパイラ
895 :
デフォルトの名無しさん :04/07/10 22:45
くだすれから誘導されてきました cppをDLLにコンパイルする方法が分かりませんコマンドに-WDが必要な 必要なあたりまでは分かったのですが、 **に代入した値は使用していない(関数 とか パラメータ***は一度も使用されないとか 全く分からないエラーが出ます。(C/C++自体ふれたことがない) ソース自体は配布されているものなので問題がないと判断し、 コンパイルする時点の問題ではないかと思いました。 dllへコンパイルするだけで構わないので、方法を教えてください。
>>895 >**に代入した値は使用していない(関数 とか
>パラメータ***は一度も使用されないとか
そら警告なんで無視してかまわない。
ソースに問題が無いなら -WDだけでコンパイルできるはずだけど。
そもそもBCCの設定は大丈夫なの?
>>896 bcc32.cfgとilink32.cfgの追加は行いました。
あとPATHの設定も行い、文字を表示する簡単なexeをコンパイル
できることも確認しました。
Dllをコンパイルするための設定があるんですか?
>>897 エラーメッセージを晒して。警告メッセージは要らない。
あと可能ならソースも。
>>900 ぐはっ、デフォで入ってるdllだと思って、無視してた;_| ̄|○
指摘されて削除してみたら見事にコンパイルされてました。
ご指摘ありがとう!激しいケアレスミスでゴメンちゃい
902 :
デフォルトの名無しさん :04/07/11 23:45
|| MAKE Version 5.2 Copyright (c) 1987, 2000 Borland || bcc32 -WD -u- <伏せ伏せ>.cpp || Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland || <伏せ伏せ>.cpp: || Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland || Error: 外部シンボル 'strtok' が未解決(C:\GNUGOLAUNCHER\GNUGOLOADER.OBJ が参照) || Error: 外部シンボル 'memset' が未解決(C:\GNUGOLAUNCHER\GNUGOLOADER.OBJ が参照) || Error: 外部シンボル 'strlen' が未解決(C:\GNUGOLAUNCHER\GNUGOLOADER.OBJ が参照) || || ** error 1 ** deleting <伏せ伏せ> こんなのが出てきてしまいます。 原因は何なんでしょうか。 教えてくだせい。
903 :
デフォルトの名無しさん :04/07/11 23:46
>>902 必要なライブラリを指定していないから。
GNUGOLOADER
必要なライブラリって何にstrtokとかが入っているんですか?
なんか -u- が引っかかってるっぽいです DLLにエクスポートする関数名から_を取りたかっただけなのですが… 我慢して使えば_付きでも困ることは無いのですが…
>>911 そちらにいってみます。
ありがとうございました。
>>912 コマンドラインでカレントディレクトリをwin01.cppのあるディレクトリにしておきます。そこで、
bcc32 -W -eRelease\win01.exe win01.cpp
と打ち込みます。
>>914 試してみたのですが、
エラー E2075: コマンドライン オプションの間違い : -W -eRelease\win01.exe
とでて、うまくいきませんでした。
できました! ありがとうございました。
わざわざそこだけ全角とはテクニカルだな
#include <windows.h> FARPROC pFunc; void main() { _asm jmp pFunc; } というようなことをしたいのですが、bcc32ではどう書けばいいんでしょうか? bcc32でコンパイルすると、 >エラー E2448 test.cpp 6: 未定義のラベル 'pFunc'(関数 main() ) になってしまいました。vcでは通るようなのですが。
>>919 BCC 5.6.4 でフツーに通りましたが。
>>920 C++Builder付属のBCC 5.6の方を使用してたみたいです…
BCC 5.6.4にしたらコンパイル通りました。
どうもありがとうございました。
そういやBCC5.6.4って max min 関数使えないの?
BCにel突っ込むときはどうすればいいんでつか?
bcc easy link library でgoogle検索はした/
おおっと、最後は ? のタイプミス
927 :
デフォルトの名無しさん :04/07/15 17:54
C99って対応してるの? 特にstdint/stdboolあたり
928 :
デフォルトの名無しさん :04/07/15 20:53
>>927 -Pオプションをつけると限定的に使える。
・bool型(stdbool.hのインクルードは不要。そもそも存在しない)
・for (int i = 0;;)のようなforでの変数宣言
・その他関数内の任意の位置での変数宣言。
・inline関数
・選択文と反復文のブロック化
C99で追加されたライブラリ関数は全く用意されていないけど、long long int関係なら同じようなのがある。(atoll→_atoi64のように)
(これは別名C++とも言うw)
>>924 926様
有り難うございます!何とかできそうです。
できませんでつた( ;´・ω・`)人(´・ω・`; ) とりあえず,926サソのサイトを参考にしてel.hを改変したんですけども, このelをどこに突っ込めばいいんでしょうか?
そのソースファイルの場所がわかりません( ;´・ω・`)人(´・ω・`; )
自分でソース書くんじゃないの?
>>934 様
bcc55の中のincludeってとこに突っ込めばいいんでしょうか?
>>935 include/の中でもいいし、
自分でel使うプログラム書いたら、そのソースと同じディレクトリでもかまわない。
とにかく、ソースで #include "el.h" とする以上、
そのソースから参照できる場所ならどこでも大丈夫。
とりあえず訊く前に試せと… PCがぶっ壊れるわけじゃあるまいし
すいません・・・・初心者なもので・・・
elちゃんと入れたはずなんですが,サンプルコードの、2D関係ってやつをコンパイルしたら, エラーがいっぱい出てて,もうワケワカメ
>>939 どんなエラーが出ているのか書かないとこっちもわからん。
test2.cppってファイルにしてやったんですが、 test2.cpp: 警告 W8066 test2.cpp 51: 実行されないコード(関数 __stdcall WinMain(HINSTANCE__ * ,HINSTANCE__ *,char *,int) ) エラー E2141 test2.cpp 90: 宣言の構文エラー(関数 __stdcall WinMain(HINSTANCE__ * ,HINSTANCE__ *,char *,int) ) エラー E2134 test2.cpp 157: 複合文に } がない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) エラー E2134 test2.cpp 157: 複合文に } がない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) エラー E2134 test2.cpp 157: 複合文に } がない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) エラー E2134 test2.cpp 157: 複合文に } がない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) エラー E2134 test2.cpp 157: 複合文に } がない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) エラー E2134 test2.cpp 157: 複合文に } がない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) エラー E2134 test2.cpp 157: 複合文に } がない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) 警告 W8070 test2.cpp 157: 関数は値を返すべき(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) 警告 W8057 test2.cpp 157: パラメータ 'hPrevInstance' は一度も使用されない(関数 _ _stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) ってでました。
なんか、凡ミスっぽい }や;の書き忘れとか、構文が間違ってる可能性が高いと思うよ もう一度ソースをよく見てみたら?
>>941 > 警告 W8070 test2.cpp 157: 関数は値を返すべき
WinMainの最後にreturn msg.wparam;書け。
> 警告 W8057 test2.cpp 157: パラメータ 'hPrevInstance' は一度も使用されない
これはどうしようもないから無視しろ。
あとC++ならextern "C" int WINAPI WinMain(ryってしないとリンカがエラー吐くぞ
#include "el.h" #define MAIN_SCREEN 1 void MainScreen(void); int elMain("elサンプル"); { elLoop() { elSetScreen(MAIN_SCREEN,MainScreen()); } elExitMain(); } void elCreate(void) { elDraw::Screen(640,480); elCallScreen(MAIN_SCREEN); }
void elKeyboard(void) { case VK_ESCAPE: { elDraw::Exit(); break; } elExitKeyboard(); } long elEvent(void) { elExitEvent(); } void MainScreen(void) { elDraw::Clear(); elDraw::Refresh(); } って書いたんですけど test.cpp: 警告 W8057 test.cpp 16: パラメータ 'hPrevInstance' は一度も使用されない(関数 __s tdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) ) Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: 外部シンボル '_main' が未解決(C:\BORLAND\BCC55\LIB\C0X32.OBJ が参照) ってでてコンパイルできないんです。
今までの発言を見る限りC言語初心者だと思うのだが、 それなら、まだelに手を出さないで基礎文法でも勉強した方がいい気がする
この内部エラーってのが分からないんですヽ(´ー`ヽ)ヽ(´ー`)ノ 何が原因でおこるのか・・・
>>949 内部エラーの原因は時空の揺らぎが関係しているらしい。
26次元空間のインフレーションにより生じるエネルギーが、
コンパイル時のロジックに少なからず影響を与えるそうだ。
内部エラーをなくす研究は情報科学の分野の片隅で地道
に続けられているが、完全に原因を追及し解消するには、
まだまだ遠い道のりが続くだろう。
という電波を受信しました。
わろた
952 :
デフォルトの名無しさん :04/07/18 21:02
ゲームを作っていて、ビットマップをexeのある フォルダの中に置いているのですが、 ビットマップをexeに含ませることは出来ないでしょうか。 できるならやり方を教えてください。
>>952 リソーススクリプト
っつーかスレ違いの予感。
何とかなりました。 有り難うございました。
956 :
デフォルトの名無しさん :04/07/19 20:55
コンパイルすると 外部参照 main が未解決 って出るんですけど、どうすればコンパイルできるように なりますか?
未解決のものを解決すればいいんだろうな しかるべきファイルをインクルードするとかで解決できるんじゃない?
ソースはWinアプリなのに、コンソールアプリで コンパイルしてるからかも。
ユーザー登録したのにメールが来ないぃ
このスレ、見るたびに「タグで使える〜」と読んでしまう。 <include src="stdio.h"/> <function name="main" rettype="int" paramtype="void"> <call name="printf" value="hell world\n"/> <return type="int" value="0"/> </function> こんな感じか。
functionはやだな。変数宣言にも使えるような言葉にしてほしい。
#include <GL/glut.h> // </GL/glut.h> OpenGLプログラムが何故かすぐ強制終了。 XP Voodoo i865G VC++ ○ ○ BC++ ○ × コンパイルエラーも出ないのに。Why?
もれのGL外部シンボル未解決ばっかでてやりたいどころではないがな…
>>965 通ったよ…こんな単純なことに何日掛けてたんだか…
ようやくいじりまくれる日がやってきたよ
ありがとう
Visual Windows for BC++ これってさ見栄えよく(主にフォント)して他の無料の良いIDEが存在しないDigital Mars C/C++ Compilerとかに対応すればかなりユーザー増えるんじゃないのかな? どうしてBCCという激戦区に飛び込んだのだろうか?
968 :
デフォルトの名無しさん :04/07/26 23:58
BCCって商用利用できる? ライセンス見ても曖昧にしか書いてないんだが。 Borland C++Builder 6 Personalが商用出来ないのに、 フリーのBCCが商用できるってのはやっぱありえないか。
969 :
デフォルトの名無しさん :04/07/26 23:59
質問かと思ったら自己完結しているな。
まぁ、質問というか確認かなw
BuilderXは商用利用可
次スレ出来たら教えろ。
ってか、次スレ要る?