1 名前:デフォルトの名無しさん [03/05/31 23:13] 一応Part3を立てておく。スレ需要がなければ下がるのみ。 機能無制限で使える本格的な無料コンパイラBC++についてのスレ。 ダウンロードはこちらから。 ↓ www.borland.co.jp/cppbuilder/freecompiler/ 進行は遅いですがまったりやりましょう 前スレ part1 > pc3.2ch.net/test/read.cgi/tech/1002377328/ part2 > pc2.2ch.net/test/read.cgi/tech/1030493157/ 関連スレ C++相談室 part10 pc3.2ch.net/test/read.cgi/tech/1029315669/ C Builder相談室 Part3 pc3.2ch.net/test/read.cgi/tech/1016065855/ Generic Programming with C++ Template pc3.2ch.net/test/read.cgi/tech/1008593126/
455 名前:デフォルトの名無しさん mailto:sage [04/01/12 15:38] webにサンプルとして上がってるWin32APIがらみのC++ソースを お手軽に一発ビルドできる環境が全部フリーで整うなら、 贅沢はいわないYO 実際、それが一番難しいことだったりする。 中の人がみなそう思ってるとは限らないんで。
456 名前:373 mailto:sage [04/01/12 20:23] >382 亀レスだけど、リアルタイム表示が上手くいきました avi作成もライブラリは見つけて、幸せになれそうです。ありがとん。
457 名前:デフォルトの名無しさん mailto:sage [04/01/14 06:38] tasm32.exe需要ある?
458 名前:デフォルトの名無しさん mailto:sage [04/01/14 18:18] >>457 需要はあるかもしれんがUPは犯罪。 NASMを使う人が多いんじゃないかな
459 名前:デフォルトの名無しさん mailto:sage [04/01/15 16:18] >>457 tasm32ならBuilderXのフリー版についてくるがそれじゃダメなのかい。
460 名前:デフォルトの名無しさん mailto:sage [04/01/17 13:19] 他スレで質問したのですが、答えが得られなかったので、このスレで質問させていただきます。 Windows上で DLL を作ってるのですが、 DLLを呼び出すアプリは自作のものではなく、デバッガの使い方で困ってます。 ブレイクポイントを設定したりしてDLLのデバッグをすることは可能なのでしょうか? 環境はbcc+TurboDebugger と gcc+gdb です。
461 名前:デフォルトの名無しさん mailto:sage [04/01/17 14:16] >>460 TD では可能です。gdb でも可能でしょう。 具体的にどういう問題を抱えているのですか?
462 名前:デフォルトの名無しさん mailto:sage [04/01/17 17:01] >>461 レスありがとうございます。 どういう手順でデバッグするのかがわかりません。 DLL を呼び出すプログラムを TD で読み込んでも、デバッグ用の情報はないので、 "Program has no symbol table" と表示されます。 DLL 自体を TD で読み込んでも、"Program not found"と表示されます。 DLL をデバッグする時の基本的な方法がわかっていないので、 教えていただけると嬉しいです。
463 名前:デフォルトの名無しさん mailto:sage [04/01/17 17:20] bcc32 -debug とかそんなスイッチがあったと思った。それを使えば、 デバッガ用のsymbol tableがオブジェクトに埋め込まれ、 ブレークポイントでTDでのデバッグができるはず。 肝心なのはdebugオプションをつけたときは 全部のソースを再コンパイルしなきゃいけないってこと。 bccでのdllづくりはこのあたりにも解説があるね ttp://www.kumei.ne.jp/c_lang/bcc/bcc_11.htm
464 名前:デフォルトの名無しさん mailto:sage [04/01/17 18:11] >>463 すみません、説明不足でした。 DLL の方は、-v -y オプションもつけて、デバッグ用にビルドしています。 問題は、その後のデバッグ方法です。 DLL を呼び出すプログラムは BCC で作られてはいなく、 デバッグ情報も埋め込まれてないと思います。 このような状況でのデバッグ法を知りたいので質問しました。
465 名前:デフォルトの名無しさん mailto:sage [04/01/17 20:29] >>416 はどうよ ASSERT、VERIFY、TRACE、どれも役立つと思うぜ
466 名前:デフォルトの名無しさん mailto:sage [04/01/17 22:30] >>465 便利そうですね。 これから使っていこうと思います。
467 名前:デフォルトの名無しさん mailto:sage [04/01/22 19:45] スレッドクラスってどうやって作ってる?
468 名前:デフォルトの名無しさん mailto:sage [04/01/28 21:47] とりあえず保守
469 名前:デフォルトの名無しさん [04/02/05 20:02] age
470 名前:デフォルトの名無しさん mailto:sage [04/02/09 02:55] フリーなC++統合環境でお気楽にDirectXでゲームでも作ろうかなと思ったが 案外敷居高そうだなぁ… とりあえず >>67 >>242 >>299 ありがとう
471 名前:デフォルトの名無しさん [04/02/14 11:49] windows2000上でコンパイルしたプログラムを実行したら 「NTVDM CPUは不正な命令を検出しました」 ってエラーが出る 同じソースをwindowsME上でコンパイルしたプログラムだと問題ないんだけどな
472 名前:デフォルトの名無しさん mailto:sage [04/02/14 12:11] なぜここに
473 名前:デフォルトの名無しさん mailto:sage [04/02/14 12:24] BCCでコンパイルしたプログラムだったから
474 名前:デフォルトの名無しさん mailto:sage [04/02/14 13:47] ソース全部見せれば誰かが原因や対策をつきとめるかも知れないけど、 ただエラーが出るといわれても、いわれたほうは困るだけだな
475 名前:デフォルトの名無しさん [04/02/14 18:32] まるまる全部だされてもそれはそれで困る
476 名前:471 mailto:sage [04/02/14 19:29] oオプション使ってコンパイルするとエラーが出るっぽい
477 名前:デフォルトの名無しさん mailto:sage [04/02/14 19:51] o? -O ではなくて? command.com と cmd.exe でそれぞれプログラムを実行してはどうだ。
478 名前:デフォルトの名無しさん [04/02/15 22:05] BC++を始めたいのですが、ダウンロードページが開けません。 もうダウンロードできないのでしょうか?
479 名前:デフォルトの名無しさん mailto:sage [04/02/15 22:13] 死んでいる。www.borland.co.jp/
480 名前:デフォルトの名無しさん mailto:sage [04/02/15 22:31] 鯖落ちしてるだけで数日待てば直るとかか?
481 名前:デフォルトの名無しさん mailto:sage [04/02/15 22:36] 漏れも今日ネトカフェ逝ってDelphi+Kylix落とそうとしてだみだった。 生き返れボーラン!
482 名前:デフォルトの名無しさん mailto:sage [04/02/16 01:18] 見られるよ。
483 名前:デフォルトの名無しさん mailto:sage [04/02/16 01:30] 生き返ったね
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; } どなたかご教授お願いします。
485 名前:デフォルトの名無しさん mailto:sage [04/02/17 11:58] 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] www.bayashi.net/st/pdmemo/crypt.html によるとMD5かDESらしいから、MD5かDESどっちになってるかを調べた後、 MD5かDESのソースを拾ってきて、同じ動作をするように改造
490 名前:デフォルトの名無しさん mailto:sage [04/02/17 13:40] たぶんMD5ではないかな? RFCにCソース有り。 ttp://www.akanko.net/marimo/data/rfc/rfc1321-jp.txt
491 名前:デフォルトの名無しさん [04/02/17 13:48] やっぱり自分で作るしかないのかぁ・・ ちなみにMD5ではなくDESです。
492 名前:デフォルトの名無しさん [04/02/17 13:49] www.akanko.net/marimo/data/rfc/rfc1321-jp.txt
493 名前:デフォルトの名無しさん mailto:sage [04/02/17 14:03] apacheの認証なんかでも unix系の環境とwin環境でhtpasswordが違うのでそのまま転送しても使えない という話題が度々出る。 原因はもちろん、windowsのみMD5を使っているため。
494 名前:デフォルトの名無しさん [04/02/17 14:04] .htpasswd
495 名前:デフォルトの名無しさん mailto:sage [04/02/17 15:41] Windowsのみってわけじゃないが
496 名前:デフォルトの名無しさん [04/02/17 17:36] BCCで簡単なGUIアプリを作る解説があるサイト無いでしょうか? ゲームとかではなく、単純に、入力ボックスに数値を入れて ボタンを押すとその値に応じて計算して、結果を表示するような簡単な GUIアプリでいいのですが。。
497 名前:デフォルトの名無しさん mailto:sage [04/02/17 17:42] >>496 猫とか /* 悪い事言わんから、おとなしくDel/BCBかVC#でもつかっとけ */
498 名前:デフォルトの名無しさん mailto:sage [04/02/17 19:58] 金があるなら問答無用でそのあたりを買っとくべきだな、本ごと。 無いなら猫とかその他いろいろやってみるのもよし。 質問する前に最低限のことを調べている程度の気合のある奴だ、とわかれば、 ちゃんと答えてくれる人もいるだろう。
499 名前:デフォルトの名無しさん mailto:sage [04/02/17 20:03] 検索キーワードをうまく選べない人なのかもな
500 名前:デフォルトの名無しさん mailto:sage [04/02/18 01:29] >>499 ぐぐるのも2chに書き込むのも同じに考えてる人でしょ
501 名前:デフォルトの名無しさん mailto:sage [04/02/18 04:05] おまいらが考えている以上に素人がgoogleを使うのは難しいらしいぞ
502 名前:デフォルトの名無しさん mailto:sage [04/02/18 04:37] まず検索キーワードという発想がなかなか身につかないらしいね えんえんとリンクたどるだけだったり
503 名前:491 mailto:age [04/02/18 10:53] 昨晩からいろいろやってみたのですがうまくいきませんでした。 unistd.hというのを一般的には使ってるらしいのですが、米国で規制が かかってるらしく私のところには入っていませんでした。 似たようなのを探して、 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: 宣言の構文エラー コンパイルエラーが出てしまいます。どのようにしたらよいのでしょうか?
504 名前:デフォルトの名無しさん mailto:sage [04/02/18 12:29] Googleは慣れないエスカレーターに乗る難しさ
505 名前:デフォルトの名無しさん [04/02/18 13:52] ちょっと行き詰っています。aからzまでを表示したあと a . . z 今度はaa ab acというように1桁増やして5桁あたりまで連続 ループさせようと思っています。 aa ab . . az ba . . bz ca . . zz aaa aab このようなコードを書いてみたのですが文字列結合時に データ型が違うためうまくいきませんでした。 www.uploda.net/anonymous/etc2/upload21487.txt ご教授お願いします。
506 名前:デフォルトの名無しさん mailto:sage [04/02/18 13:56] >>504 ('A`)ノ <何が言いたいのか理解できません。 ┳━┳
507 名前:デフォルトの名無しさん mailto:sage [04/02/18 13:59] >>505 ポインタに対する理解が全くない 取りあえず、配列の正しい使い方を覚えましょう
508 名前:デフォルトの名無しさん mailto:sage [04/02/18 14:00] 使ってる人には難しくないってことだ
509 名前:デフォルトの名無しさん mailto:sage [04/02/18 14:10] >>506 田舎のおばあちゃんが、都会で働いている息子の家に孫の顔を見るため はるばるやってきたが、駅のエスカレータに乗れなくてまごまごしている図
510 名前:デフォルトの名無しさん [04/02/18 14:12] >>503 #include "des.c"する。 以下の関数をコメントアウト strchr _DllMainCRTStartup __declspec(dllexport)があるなら削る。 printf("%s",get_2ch_trip("pw"));が動くようになる。
511 名前:デフォルトの名無しさん mailto:sage [04/02/18 14:16] >>503 ソースを全部見てないんでよくわからんが、 そのソースは、ぎこはにゃ〜んで使うdllのソースじゃ? dllとしてメイクするか、適当に書き直して使うかせにゃ。
512 名前:デフォルトの名無しさん mailto:sage [04/02/18 14:17] あいや、かぶった。↑無視してちょ
513 名前:デフォルトの名無しさん mailto:sage [04/02/18 15:47] >>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); }
514 名前:505 [04/02/18 17:13] レスありがとうございます。 ポインタについてはCASL2をやってたことがあるのでなんとなく理解できました。 それで、新たにコードを書いてみたのですが、思ったとおりの動作をしませんでした。 printfで変数を書き出してちょこちょこ確認してみたのですが、 どうやら1桁目が終わって、 continue を入れて2度目のループを開始させると配列chrが参照できなくなっていました。 1度目のループのとき、chr[0]とすると、「a」と出るのですが 2度目のループだとnullが出てしまいます。 そーす ・www.uploda.net/anonymous/etc2/upload21489.txt
515 名前:505 mailto:sage [04/02/18 17:21] 自分としては、1桁目が終了したらcontinueでwhileまで戻し、 2桁目を開始させ、s1[0]に'a'を書き込んだら、再起処理をし、 次に書き込むときはポインタを1つ後ろにずらして aa ab ac とさせようとしたのですが、エラーはでないのですが期待した動作をしませんでした。
516 名前:デフォルトの名無しさん mailto:sage [04/02/18 17:21] >>514 パッと見だけど、s1用のメモリはどこに確保してるんだ?
517 名前:デフォルトの名無しさん mailto:sage [04/02/18 17:45] 5桁分のchar配列用意して 各桁をインクリメントしていくfor文をネストするんじゃだめなの? (桁数に対する汎用性がないけど)
518 名前:507 mailto:sage [04/02/18 17:45] >>514 >ポインタについてはCASL2をやってたことがあるのでなんとなく理解できました。 なんとなく理解できたって、 全く理解出来てないから、そんな訳の分からないソースになるんだって
519 名前:505 mailto:sage [04/02/18 17:50] >>516 メモリの確保は最初に決めないとだめなんでしょうか? 宣言だけしておいて、あとから確保ということはできないのでしょうか? ご指摘の通り、メモリをとりあえず10だけ確保して、 strcatからstrcpyに変えてみたところ a . . z aa . . az まではうまくいきました。まだ動作がおかしいのでもう少し直してみます。
520 名前:デフォルトの名無しさん mailto:sage [04/02/18 18:02] そろそろ入門書10回通読指令出していいですか?
521 名前:デフォルトの名無しさん mailto:sage [04/02/18 18:10] >>519 >宣言だけしておいて、あとから確保ということはできないのでしょうか 何処で確保してるつもりだったんだ?
522 名前:デフォルトの名無しさん mailto:sage [04/02/18 18:16] > char *s1 = ""; ここで、s1には "" を格納するためのアドレスが入っていて そのアドレスの先には '\0' を入れるための 1byte 分のメモリしか 確保されていない。
523 名前:505 mailto:sage [04/02/18 18:25] 再帰処理してやっと何桁でも対応できるようになりました。 どうもありがとうございました。 >>522 つまり*s1="a"とした場合、s1[0]のアドレスにa、s1[1]に\0が 入り、2byte分しか確保されないということでしょうか? 変数s1は桁数なので、桁数が上がるほど確保しなければならいのですが、 こういう場合も、やはり最初に確保しておくしかないのでしょうか? とりあえず今はs1[10]としてあるんですが、9桁を超えた場合、 メモリが足りなくなって誤動作してしまうので、確保しなおしたいのですが。
524 名前:デフォルトの名無しさん mailto:sage [04/02/18 18:27] 某家電(量販)店が無償で配布されているオープンソースソフトウェアを自社開発と称して 自店商品の機能向上を謳って抱合せ販売していた模様。 また、この店ではオープンソースソフト単独でも販売し利益を得ていたようです。 開発元には、クレーム等の連絡先として開発者のメールアドレスを勝手に表記されていた為、 問い合わせメールが殺到し開発者のWebページが閉鎖に追い込まれています。(2004/2/16現在) 【店の身勝手で阿呆な言い分】 「これで有名になったんだから良かったと思ったほうがいい」 「ユーザーサポートの費用払ってやってもいい。 その代わりソフトの権利はウチの会社でもらう。月1000円」 「所詮タダで配ってるソフトだから誰の著作権も何もない、 ウチでつくってるといえばウチのもんだよ。」 詳しくは下記スレにて熟知せよ。 news4.2ch.net/test/read.cgi/news/1077067632/
525 名前:デフォルトの名無しさん mailto:sage [04/02/18 18:28] >>523 malloc()とfree()を使うなり、アルゴリズムを見直すなり…
526 名前:デフォルトの名無しさん mailto:sage [04/02/18 18:34] >>525 new() と delete()を(以下略
527 名前:505 mailto:sage [04/02/18 19:13] なるほど、動的にメモリを確保できるんですか。 Perlとかだとメモリの確保とか気にしないで出来たのでとっつきにくいですね。 C++だとnew()とdelete()がよいらしいのでこれを使ってみます。 どうもありがとうございました。
528 名前:デフォルトの名無しさん [04/02/18 20:10] レス遅くなってすいません >>510 さん そのやり方でやったら確かに動いたは動いたのですが、 トリップとして出てきてしまいます。 perlのcrypt関数と同じ動作をさせたいのですが・・ スレ違いのような気がしてきたのでC++相談室に移動します。 申し訳ございません。
529 名前:デフォルトの名無しさん mailto:sage [04/02/18 23:30] >527 c++ならstlつかえばresize()も簡単。だけどあんたの場合それ以前の問題外な状況だったわけさ
530 名前:デフォルトの名無しさん mailto:sage [04/02/19 00:17] メモリ上でどんなことが起きているかをまったく理解しなくても 超(?)高級言語なら問題なく使いこなせるわけか… なんとなく怖い気もする
531 名前:デフォルトの名無しさん mailto:sage [04/02/19 00:49] >>530 それはプログラミング言語の1つの理想なわけで
532 名前:デフォルトの名無しさん mailto:sage [04/02/19 17:50] こわいっつーか安心だな
533 名前:デフォルトの名無しさん mailto:sage [04/02/19 19:08] >>527 コンテナ使える所はコンテナ使った方がいいよ。 newやdeleteさえ自動的にやってくれる。但し中身が 配列だったりするとやはりnewは使わないといけないがな。 クラスのコンストラクタとデストラクタにそういう雑仕事を突っ込 んでしまえば vector<vector<Class> > という形で解決できる 事もある。
534 名前:デフォルトの名無しさん mailto:sage [04/02/19 19:30] >>527 は>>533 のアドバイスを今すぐに活かせるんだろうか。
535 名前:デフォルトの名無しさん mailto:sage [04/02/20 00:47] >>534 今は判らんでも、近い将来理解できるかもしれない。 出来るやつは、こういいうちょっとしたアドバイスを覚えてるもんよ。 >>527 氏はどうか判らんけど(w
536 名前:デフォルトの名無しさん mailto:sage [04/02/20 01:58] ilink32でDLLを自作しました それにimplibをかけて*.libを作りました この*.libも含めて新規に*.exeを作成する時に ilink32のどこらへんに書くのでしょうか? ilink32のコマンドラインの書式の 真ん中あたりのobjsの部分の最後とか? それとも、書式の後のほうの[libs]のところとか? (import32.libの次あたり)
537 名前:デフォルトの名無しさん mailto:sage [04/02/20 02:49] 俺だったら、ilinkの書式を調べるの面倒だから bcc32のコマンドラインに追加する。 実用的には、.hにpragma commentで。
538 名前:デフォルトの名無しさん mailto:sage [04/02/20 19:10] これってwindowsプログラムも出来る?
539 名前:デフォルトの名無しさん mailto:sage [04/02/20 19:22] 出来るよ。手間はかかるけど。
540 名前:デフォルトの名無しさん mailto:sage [04/02/20 19:44] consoleアプリもwindowsプログラムだ! と主張すれば簡単にできる。
541 名前:デフォルトの名無しさん mailto:sage [04/02/20 19:51] というかwindowsプログラムしかできないよなw
542 名前:デフォルトの名無しさん mailto:sage [04/02/20 22:10] www.darkstar-clan.de/download.php?id=24&s=info をcstrikeフォルダーにこぴーするとはいれるよ
543 名前:デフォルトの名無しさん mailto:sage [04/02/20 23:49] >>538 >>409
544 名前:デフォルトの名無しさん mailto:age [04/02/25 18:07] age
545 名前:デフォルトの名無しさん [04/02/25 21:23] DOSのウインドウじゃなくて 普通のウインドウを表示するにはどうしたらいいんだ?
546 名前:デフォルトの名無しさん mailto:sage [04/02/25 21:24] ふつーって
547 名前:デフォルトの名無しさん mailto:sage [04/02/25 21:24] ほいよ ttp://www.kumei.ne.jp/c_lang/bcc/index.html 第五章を嫁
548 名前:デフォルトの名無しさん mailto:sage [04/02/25 21:27] >>545 ”普通のウインドウ”は呼び出すんじゃなくて作るの 「猫でもわかるプログラミング」でぐぐって読んでみるべし
549 名前:デフォルトの名無しさん mailto:sage [04/02/25 21:46] プログラムをBCCDeveloperから起動して、GetOpenFileNameを実行するとフリーズし、 ダブルクリックで起動するとファイルを開くダイアログが出るんですが、こういう症状の人他にいますか?
550 名前:デフォルトの名無しさん mailto:sage [04/02/25 22:10] 似た現象で昔めちゃくちゃ悩んだ。 色々調べた結果、どっかがおかしいらしい(==俺のせいではない)ことはわかったが、 どうすればいいのかを知る前にBCB買ってしまったので直し方は未だ知らん。 BCBのほうは問題無し。
551 名前:デフォルトの名無しさん mailto:sage [04/02/25 22:25] さんくすです
552 名前:デフォルトの名無しさん mailto:sage [04/02/25 22:25] developerの不具合対処っていうとデバッガ消せ、くらいしか思いつかないなあ 今ちょっとコード書いて調べてみるかな
553 名前:デフォルトの名無しさん mailto:sage [04/02/25 22:46] ためしにこれ ttp://www3.big.or.jp/~schaft/program/getopenf/getopenfC.html をBCCDeveloperから起動してみました。 フリーズせず、期待どおりファイルを開くダイアログが出ました。
554 名前:550 mailto:sage [04/02/25 22:50] BCCDeveloperのせいではなかったはず。
555 名前:デフォルトの名無しさん mailto:sage [04/02/25 23:00] >>553 質問したものですが、ウチではダメでした。 >>554 そうなんですか。Developerを介さなければ問題はないので、まあこのままでもいいとします。 ありがとうございました。