[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 06/02 12:37 / Filesize : 89 KB / Number-of Response : 349
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 01:08:48 ]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。

【前スレ】
【初心者歓迎】C/C++室 Ver.65【環境依存OK】
pc12.2ch.net/test/read.cgi/tech/1239326399/

【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

◆ソースのインデントについて
半角やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのが最も良いですが、
直接貼るのであれば、全角空白か に置換しておくことをお勧めします。

82 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 20:30:23 ]
>>81
多分無い

ボタンに対して マウスLB押下
そのまま ドラッグしていって ボタンの範囲外に抜けた後に
マウスLB開放

した場合とかを考え出すとね…

83 名前:デフォルトの名無しさん [2009/06/01(月) 20:48:19 ]
メモリマップ度ファイル便利と思って多用していたが、
巨大なファイルのシーケンシャルリードするとメモリ解放しないままで
次々に読むから不安定になるな。


84 名前:83 [2009/06/01(月) 20:51:35 ]
自分の予定では、次に読むだろうところだけ先読みして
あとは開放しているもんだと思っていた。
しかしためられるだけためてた。

85 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 21:07:33 ]
>>82
ありがとうございます。やっぱ厳しそうですね。。。
.NETのクラスライブラリを参考に作ることにします。

86 名前:デフォルトの名無しさん [2009/06/01(月) 21:13:30 ]
>>83,84
もしよかったら、どういうシチュエーションで便利に使ってたか教えてよ。


87 名前:83 [2009/06/01(月) 21:28:40 ]
メモリにロードせずに、そのまま操作できるところ。
ケースによっては、自前でバッファを管理して入出力するより高速に動く。
OSやディスクのキャッシュが適切に効いた場合、入出力バッファ処理を気にする必要がなくなる。


88 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 21:45:44 ]
>71
template<typename RandomAccessIterator>
void mysort(RandomAccessIterator first, RandomAccessIterator last);
の何が不満なの?
他人が書いた Iterator を使って望みの事ができるならわざわざ自分で書く必要ないだろ?
そもそもコンテナ用の Iterator 書くならコンテナの実装を知ってる方がいいわけで、
その意味でも自分で書く必要がない。

>84
物理メモリ上に載ったままって話?

89 名前:デフォルトの名無しさん [2009/06/01(月) 21:49:42 ]
物理メモリにはのったままではないけど、ギリギリまで使い切ってる。
あとは仮想メモリに入っているよう。この仮想メモリはOSのものとは別物の気がする。
メモリマップドファイルすると、した分は仮想メモリとしてOSは認識しているようにおもう。

90 名前:デフォルトの名無しさん [2009/06/01(月) 21:53:09 ]
予想では、次々に同一ファイルのロードが起こると、
OSは大事なファイルと認識しメモリに蓄えておこうとするのだと思う。
もっとも最近に参照されたファイルが優先されて、そのファイルだけが残ると思う。



91 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 21:57:14 ]
>>90
OSじゃなくメモリマップドファイルを実現してるクラスとかがメモリを確保してるだけでしょ
windowsだと確か設定を変えなければ一つのアプリが最大使えるメモリって
2GBだっけ?
そのくらい物理メモリ詰んでなければそりゃ使い続ければいずれ物理メモリを超えるので
スワップ発生するだろうし


92 名前:デフォルトの名無しさん [2009/06/01(月) 22:21:16 ]
メモリマップドファイルは、windowsが用意している関数でそのメモリ使用量を自前で制御できない。
まったくメモリにキャッシュしないようにするオプションはあるけど。
OSの制御にあって、使用中は全く手出しできない。

93 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 22:44:39 ]
WindowsXP VisualC++2008EEです。
クラスの中のメンバクラスに関する質問です。

----------------------------
class ClassA{
ClassA( int a, int b ) { }; //コンストラクタ
^ClassA( void ) { }; //デストラクタ
};
----------------------------

上記のように引数付きのコンストラクタを持つクラスがあるとき

----------------------------
class ClassB{

private:
ClassA mClassA( 1, 2 );
};
----------------------------

といった形で、メンバクラスを宣言しようとすると、

「error C2059: 構文エラー : '定数'」

といったエラーが出てきてしまいます。

引数付きのコンストラクタがあるクラスをメンバとして持つには、
どのようにすればよいのでしょうか?

94 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 22:47:20 ]
>>92
そういう作りなのか
まあ気に入らなければ自分で作ればいいだけだしな。


95 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 22:53:25 ]
>>93
class ClassB {
ClassA mClassA;
ClassB() : mClassA( 1, 2 ) {}
};

classB のコンストラクタで メンバの初期化

96 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 23:24:42 ]
funini.com/kei/mmap/mmap_api.shtml

97 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 23:24:43 ]
>>79
Settingクラス(フレームワーク提供)を継承したクラスをユーザが定義し、
そのファクトリ関数もユーザが定義するようにすればできない?
Setting::init()は空の仮想関数。
ファクトリ関数はグローバルで、関数名とプロトタイプはフレームワーク仕様により規定。

98 名前:デフォルトの名無しさん [2009/06/01(月) 23:42:28 ]
jpgファイルをWindowsのアプリから表示したい時、boost::gilを使ってる人いますか?
使う言語はC++なのですが(Win32APIは出来る限り使ってません)、
WindowsのAPI使った方がいいのか、わざわざboost::gil使う意味あるのか。




99 名前:79 mailto:sage [2009/06/01(月) 23:42:39 ]
>97
ありがとう。
ファクトリ関数が何なのか調べるところから始めてみる。

……要は、継承先のクラスを指定する部分だけを
フレームワークの外に出してしまえばいいんじゃね?ってこと?

100 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 23:44:49 ]
>>95
ありがとうございます! 
動きました・・・・が、見たこと無い形なので、なぜ動いたかが分からない・・・。

「コンストラクタ初期化子」というのがあるそうですね。
そういうものだと割り切って覚えるのが早いでしょうか。




101 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 00:02:16 ]
コンストラクタの初期化リストは大事だから
知らなかったならちゃんと勉強し直した方がいい

102 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 00:07:25 ]
初期化リスト使えないとconstなメンバを初期化できないから注意な

103 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 00:10:43 ]
コンストラクタの後ろにコロンで繋げて
初期値を指定するのって、地味にめんどい

104 名前:砂ぐま [2009/06/02(火) 00:28:02 ]
教えてください。
[1]C++
[2]締切:6/3
[3]問題文

以下の問題はprintf scanfを用いらず、cin coutを使用しなさい

@2つの4行4列の行列が与えられたとき、
 その積を計算するプログラムをwhileループとインクリメント演算子を用いて作成しなさい。
 (※ヒント whileループは行列をキーボードから入力するためにも用いる)

A3項演算子として __ ? __ : __ が存在する。この演算子を用いて次のプログラムを作成しなさい。
 (1)変数a,bをキーボードから入力し、小さいほうを出力するプログラム
 (2)変数a,b,cをキーボードから入力し、最小値を出力するプログラム

Bwhileループと複合代入演算子を用いて、等差数列 1+3+5+7+・・・・・・+9999を計算するプログラムを作成しなさい。

CBのプログラムを実行した結果はいくらになるか?

D型変換として、算術演算子のオペランドの一つがdoubleで、片方がintであれば、
 int型のオペランドはdouble型に変換されて、計算される。 下記は例である。
  int a;
float b;

a=(int)b
また、下記のようにすると、
int a=5,b=3;
float c,d;

c=a/b;
d=a/(float)b
 で値が異なる。 この値が異なることをプログラムを組むことによって確かめなさい。

105 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 00:29:27 ]
>>101
まだまだ勉強中の身なのです。
>>102
なるほど! 確かにconst指定したメンバが
コンストラクタで初期化できないから、
どうするんだ?、と悩んでたことがありました。
>>103
そうですね。自分も30個くらいメンバが必要なので
同じことを考えていました。


106 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 00:45:58 ]
>>104
具体的に何が分からないのか答えなさい。(5点)

107 名前:砂ぐま [2009/06/02(火) 01:20:43 ]
>>106
解答をお願いします。

108 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 01:24:20 ]
>>107
宿題スレへ行くほうがいい。

109 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 02:12:17 ]
>>108
宿題スレとマルチしてるんだけどな

110 名前:デフォルトの名無しさん [2009/06/02(火) 03:57:02 ]
boost::gilの使い心地の方もお願いしま〜す。




111 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 04:06:56 ]
>110
こっちは?
pc12.2ch.net/test/read.cgi/tech/1232367742/


112 名前:デフォルトの名無しさん [2009/06/02(火) 05:41:26 ]
int i =100;
float* pf = (float*) &i
pf = pf * 2

このコーディング、どこだダメなんでしょうか

113 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 05:47:46 ]
>>112
intとfloatの内部表現が一致している保証はどこにもないから
それとポインタに対する演算はアドレスを取る事と定数を足す引く
しか認められていないからポインタを2倍するとか全く無意味

114 名前:デフォルトの名無しさん [2009/06/02(火) 05:53:16 ]
ありがとうございます。
内部表現が一致するとは、具体的にどういうことでしょうか?

これであればアドレスの中身(100?)を2倍することになるのでしょうか
*pf = *pf * 2

115 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 05:57:52 ]
>114
内部表現が一致するとはiと*pfの値が等しい時に常にiと*pfのビット列
が等しい事が保証されている事を意味する

しかし実際には大部分の計算機では浮動小数点はIEEE754、整数は
2の補数表現を取っている事が大部分で内部表現にお互いの互換性
はない

>*pf = *pf * 2;

*pfが元々floatの変数のアドレスを取っている時はその通り
今のように元々intの変数のアドレスを取ってそれを2倍したら浮動小数点例外
が起きるかもしれない

116 名前:デフォルトの名無しさん [2009/06/02(火) 06:36:32 ]
高精度の文字エンコード判定・自動変換ライブラリ
で一番いいのはなんでしょうか?

117 名前:デフォルトの名無しさん [2009/06/02(火) 06:43:49 ]
秀丸とかEmとかは判定どうやっているのかわかりませんか?
(世界各国で通用するのは)モジラかIEくらいしかしりません。 
エディタの作者は自分で作っているんですか?

118 名前:デフォルトの名無しさん [2009/06/02(火) 07:06:57 ]
ありがとうございます。

119 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 09:59:01 ]
>>117
ちょっと文字コード調べればわかると思うけど、
それぞれの文字コードで仮定して矛盾が生じたら違うと判断すればいいんだよ。
どこまで調べるか、どうやって調べるかはそのアプリの性質で決めたらいい。
判定不能な場合どうするかもね

120 名前:デフォルトの名無しさん [2009/06/02(火) 10:07:44 ]
理屈はわかりますが、実際にやると大変です。 
これはエディタの本体(GUI)を作るほど手間がかかりそうです。 
世界各国語に対応させる場合。





121 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 10:11:05 ]
>>120
文字コード扱うプログラマとしては常識の範囲ですが・・・

テキストごときでwwwとかいうゆとり多いけどテキストほど面倒な物は無い。
文字コードを限定すればなんとかなるけど

122 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 10:17:18 ]
たかがテキストごときで

123 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 11:24:03 ]
文字コードの自動判別は不可能なんだから実装する必要なし
ユーザに選択させればいいだけ
ブラウザはhttpヘッダのcharsetで判定してるだけだろ

124 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 12:53:00 ]
ICUライブラリを使う(キリッ

125 名前:デフォルトの名無しさん [2009/06/02(火) 13:12:49 ]
判別、自動変換はできるのですか

126 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 13:29:39 ]
とりあえず入力コードと出力コードを指定して一発で変換することはできるし、
CharsetDetectorっていう判別専用のクラスもある
世界中の業務用アプリで使われている実績もあるしライセンスも緩くて使い勝手もいい

問題は添付するdll(so)が糞大きいことだけ

127 名前:デフォルトの名無しさん [2009/06/02(火) 13:43:37 ]
トンクス

128 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 16:55:47 ]
float の NAN ってどういう値なんですか?

129 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 16:59:46 ]
ttp://ja.wikipedia.org/wiki/NaN

130 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 17:03:22 ]
ありがとうございます



131 名前:デフォルトの名無しさん [2009/06/02(火) 20:50:15 ]
質問です。
CLSはクラスで、int charなどの変数で構成されます。
CLSの変数と同じ順番で記録されているファイルがあり
これを vector< CLS > x; にロードしたいのですが
Read( &x[0] ) のようにしてもうまくいきません。
データが壊れています。 一括でロードする方法はありませんか?

132 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 20:54:22 ]
ないと思うべき。
順番が同じでも、アラインメントが入ってどうせファイル上のデータの並びと同じではないだろう。

133 名前:131 [2009/06/02(火) 20:54:25 ]
vectorのソートを使いたいんです。 構造体に読み込めば出来そうですが
それをvectorにコピーしたらいいでしょうか? 無駄なことをしている気がしますが。

134 名前:131 [2009/06/02(火) 20:56:51 ]
サンクス
一度にロードして、vectorに正しく挿入することにします。

135 名前:デフォルトの名無しさん [2009/06/02(火) 21:01:25 ]
すみません。 変更して構造体に入れてqsortにします。

136 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 23:01:34 ]
int a = 10;
この変数aを関数の引数として渡す場合、
void FuncA(const int n){ int test = n; }
void FuncB(const int& n){ int test = n; }
の関数があるとして
FuncA( a );
FuncB( a );
結果としては2つとも各ローカルのtestに10が入りますが後者(FuncB)はなぜこれで大丈夫なのでしょうか。
aのアドレスをFuncBに渡している…となると Func( &a ); でないとエラーが出そうなのに・・。
むしろ後者は前者とどういう処理の違いがあるのか気になります。



137 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 23:06:04 ]
>>136
参照≠ポインタ

138 名前:デフォルトの名無しさん [2009/06/03(水) 00:50:33 ]
時々このスレで質問させてもらってる者です。
大体何ターンくらいで終わるのか調べてみようと思って
UNOのゲームを書いてみたのですが、どなたか新しい戦略を書いてくれませんでしょうか?

ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9331.zip

ルールは、
(1)Draw2とかDraw4はSkip飛ばしできません。
(2)最後にワイルドカードを出してあがれません。
あとは普通のルールと思います


139 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 01:21:43 ]
>>136
いちいち&aと書かずに済むポインタだと思っても3割くらい当たっていると思ってもいい。

140 名前:デフォルトの名無しさん [2009/06/03(水) 01:22:26 ]
Player.cppの中の
bool Player::SelectCard(const Card ¤t, int DrawObligation, Card *playcard)
という関数を書き換えれば新しい戦略が書けます。
この関数は前のプレイヤが出したカードがcurrent、何枚か引かないと駄目な状態になって
る場合には、DrawObligationが2以上になってます。出すべきカードが見つかればtrueを
返して、*playcardに出すべきカードを入れます。
以上です。失礼しました。




141 名前:デフォルトの名無しさん [2009/06/03(水) 07:55:24 ]
hashmapは存在してますが、hashsetは効いたことがありません。
stlのsetは効率がいいので開発されてないんでしょうか?


142 名前:131 [2009/06/03(水) 10:28:10 ]
構造体になんとかしてロードしたかったのですが、これも値がずれてしまいました。
値がずれずに一括でロード出来る方法はないんでしょうか?
一括で読み込んで、クラスや構造体に格納していくしかありませんか。

143 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 10:31:22 ]
>>142
そもそも保存するときにズレてるんじゃない?
パディングとかオープンモードとかあるから

144 名前:131 [2009/06/03(水) 10:35:05 ]
アライメントに注意してデータ作成時に隙間を作っておく必要があるんですね。
自己解決しました。

145 名前:デフォルトの名無しさん [2009/06/03(水) 11:01:21 ]
隙間を作る (構造体、クラスをそのまま出力する) 方法で一括ロードできました。
ありがとうございます。

146 名前:デフォルトの名無しさん [2009/06/03(水) 17:50:27 ]
C言語の学習を始めたばかりですが、
char型配列の要素を、int型の数値に出来なく困っています。
(Borland C++ 5.5.1 for Win32)

char s[3],a;
scanf("%s",&s);
の時、*6 と入力すると
s[0] → *
s[1] → 文字としての 6
s[2] → \0
となっていると思うのですが、s[1]の6を数値として
取り出すにはどうすればよいのでしょうか?

以下やってうまくいかなかった事です。
1)printf("int=%d\n",(int)s[1]);→int=54
2)a = s[1];
printf("int=%d\n",(int)a);→int=54
3)printf("int=%d\n",atoi(s[1]));
4)printf("int=%d\n",atoi(a));
3,4ともに「パラメータ '__s' は const signed char * 型とし
て定義されているので int は渡せない(関数 main )」とエラー。

悩んでしまってここから全く前に進めなくて弱っています。
ご存知の方ご教示ください。よろしくお願いします。

147 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 17:52:16 ]
>>146
文字としての6ならatoi関数

148 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 17:53:18 ]
途中になった
printf("int=%d\n",atoi((int)s[1]));

としてキャストしないと

149 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 18:25:17 ]
>>141
あるよ。DinkumwareとかSGIとかは、hash_mapと共にhash_setも作っている。
そして、unordered_mapとunordered_setという名前でC++標準にも入るし、VCやg++でももう使える。

150 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 18:51:43 ]
>>146
どんな教科書使って勉強してる?
C言語はBASICみたいに文字列をひとまとまりの変数として扱えないし
数値との相互変換も簡単にはできないので、
一通り教科書を読み終わってから
そういう(Cの初心者には)むつかしいことにはチャレンジしたほうがいいよ。




151 名前:146 mailto:sage [2009/06/03(水) 20:09:49 ]
>>147-148
早速のレスありがとうございます。

>>150
雑誌の初心者向けの連載を参考にしています。
サンプルを改造しようとしても型変換のようなところで躓いてしまいます。
仰る様にいくら考えても分からない部分は後回しにして進めてみたいと思います。

>>147-148
文末のコードでコンパイルしてみましたが、

エラー E2342  パラメータ '__s' は const signed char * 型と
して定義されているので int は渡せない(関数 main )

と出てしまいました。
本当に学びはじめなので、考えられない間違いがあるかもしれません…。
ご指摘いただければ助かります。よろしくお願いします。

#include <stdio.h>
#include <stdlib.h>
int main() {
char s[3];

scanf("%s",&s);
printf("int=%d\n",atoi((int)s[1]));
return 0;
}

152 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 20:14:11 ]
>>147-148
馬鹿はわざわざ書き込まなくてもいいのですよ。

>>151
取り敢えず、printf("%d\n", atoi(& s[1]))とでもして味噌。

153 名前:146 mailto:sage [2009/06/03(水) 20:45:12 ]
>>152
ありがとうございました!できました。
エラーの意味が少し分かった気がしました(これから勉強します)。


>>147-148
即レス感謝しております。色々とキッカケになりました。
ありがとうございました。


154 名前:デフォルトの名無しさん [2009/06/03(水) 23:02:04 ]
marupeke296.com/GameMain.html

155 名前:デフォルトの名無しさん [2009/06/04(木) 01:41:16 ]
www.setsunan.ac.jp/~center/kyositu/freec/dl2008.html
このページを参考にコンパイラをインストールしました。
このページの最後にある、使い方を見るってやつのことで質問なのですが、
僕のbcc32は奥の方にあって(C:\Borland\...)、最終的にbcc32があるところにたどりつくのですが、
ここでしかコンパイラできないじゃないですか?
それが面倒なのでどうにか簡単にできないかってことと、
bcc32があるディレクトリの中には他にもいろんなプログラムがあるんですが、作成したCファイルも
同じところに保存しないとコンパイル&実行できないですよね?
つまりこのディレクトリの中がいろんな形式のファイルがあってめちゃくちゃ汚くなっちゃうわけです。。

これってなんとかキレイにまとめる方法ってあるでしょうか?
もしあるなら、申し訳ありませんが教えてください(>_<)

156 名前:155 [2009/06/04(木) 01:46:27 ]
すみません補足です。。
一部コンパイラ→コンパイルですね

↑のは自分で見なおしてみるとちょっと日本語がアレなので簡潔に質問しますと、

1.cdの回数を最小限にする方法(bcc32を含むディレクトリをC:の直下に持ってきていいのでしょうか?)
2.CファイルはCファイルだけでどこかにまとめて、そのうえでコンパイル&実行はできるのか

ということです。
よろしくお願いします。。

157 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 02:27:13 ]
使い方を見るじゃなくて、先に

>インストール(WindowsVista)に進む
>インストール(WindowsXP,2000)に進む
>インストール(Windows98,95)に進む

のどれかを見ろ。
環境変数を設定する解説がある。

それを設定すれば、どこからでもbcc32が呼び出せるようになる。
あとは好きなところにディレクトリを作って、その中でコンパイルすればいい。

158 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 02:29:08 ]
そこの説明どおりにやればどこでもコンパイルできるはずだけど?

159 名前:156 [2009/06/04(木) 11:46:59 ]
>>157,158

ありがとうございます。
OSはVistaで、ここに書いてある通り環境変数も設定したつもりなのですが
できないんです。。
;c:\borland\bcc55\bin
ですよね?
これだとここで指定したディレクトリじゃないとできないってことでしょうか?
ローカルディスク(C)の中ならどこでもコンパイルできるようにするには、設定を
c:\
にすればいいということでしょうか?

160 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 11:52:18 ]
>>159
コマンドラインで、path と打って出てくる文字列に c:\borland\bcc55\bin はあるか?
ちなみにシステム変数の設定をしたあとで開いたコマンドプロンプトじゃないと
有効じゃないぞ



161 名前:デフォルトの名無しさん [2009/06/04(木) 12:06:53 ]
>>160
コマンドプロンプトでpathを打つとちゃんと出てきます。
それで、確認用ファイルを
c:\Emacs\C\test.c
という風に作ったディレクトリに保存して、Cディレクトリ内で
c:\Emacs\C\>bcc32 test.c
というようにコマンドしても操作可能なプログラムとして…
というメッセージが返ってきます。。。

162 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 12:28:01 ]
bcc32 test.c
これを、
c:\borland\bcc55\bin\bcc32 test.c
と打つとどうなるよ。

163 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 12:29:09 ]
あと環境変数の最後に書いてある?
最初と最後以外は ; で区切ってないと前後とくっつくぞ

164 名前:デフォルトの名無しさん [2009/06/04(木) 13:16:59 ]
WindowsでWinSockのプログラムを書くとき、C++ではなくCを使うのでしょうか?
どうしてもC++で書きたかったら、
struct sockaddr_in
とかそういうのは、上手く自作のクラスにまとめてしまえばいいのでしょうか?


165 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 13:25:45 ]
別にC++でもstruct sockaddr_in とかそういうのは書けるだろ

166 名前:デフォルトの名無しさん [2009/06/04(木) 13:38:12 ]
でもネットワーク関係の例題プログラムを見てると、参照は使わないし、クラスもなし、マクロ使いまくり、
とかそういう感じのプログラムばかりだったので、みんなそんな感じなのかなと。


167 名前:デフォルトの名無しさん [2009/06/04(木) 14:03:34 ]
>>162
そうコマンドすればコンパイルできます。
ただし、"コマンド'ilink32.exe'を実行できない"とエラーが出ます。
やはりbinディレクトリの中でやりくりするしかないのでしょうか?

>>163
そこは大丈夫です。ちゃんと; ;で挟んであります。

168 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 14:07:11 ]
>>167
リンカがパス通ってないからな。
それでコンパイルできるなら、PATHがおかしいんだよ。
どこかタイプミスがあるはず。その部分コピペして貼り付けてみ。
コマンドプロンプトのコピーのしかたはわかるよな?

169 名前:デフォルトの名無しさん [2009/06/04(木) 14:30:41 ]
>>168
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\usr\local\bin;D:\MinGW\bin;c\borland\bcc55\bin;C:\Program Files\QuickTime\QTSystem\
これがパスの設定です。これのことですか?

コマンドプロンプトのコピーの仕方はわかりませんが(笑)、
ちょっと打ってからTabで出してるのでタイプミスはないと思います。。

170 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 14:33:55 ]
>>169
>c\borland\bcc55\bin
コロンが抜けてる
c:\borland\bcc55\bin




171 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 14:37:58 ]
このすれ優しい人が多いね。
感動した!

172 名前:169 [2009/06/04(木) 15:36:42 ]
>>170
おぉ!!できました!
親切にありがとうございます!!
171じゃないですが、本当に優しい人が多くて助かりました!

あと、ついでと言ってはなんですがコマンドプロンプトについて質問です。
コマンドプロンプトを開いたときの最初の位置が
C:\Users\kei
になってます。(keiは僕の名前です)
開いたとき一番最初は C:\ になってると一番都合がいいのですが、そのように設定できますか?
プロパティとかいろんなトコからやろうとしても見当たらないので…。

173 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 15:39:15 ]
\usr\local\bin
何に使うんだろう

174 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 15:39:16 ]
ショートカット作っとけばいいべ。
プログラムはcmdで、作業フォルダはC:|

175 名前:174 mailto:sage [2009/06/04(木) 15:40:16 ]
C:\だった、、、シフト押しっぱなしだった

176 名前:デフォルトの名無しさん [2009/06/04(木) 16:21:59 ]
作業フォルダの設定はどうするんですか?
どう開いても変なディレクトリから入っちゃいます。。
cd ../../
を毎回やるのは億劫なので。。。

177 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 16:37:32 ]
右クリックでプロパティ出せばいいだろう。
cd \ でいいじゃない

178 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 16:40:04 ]
そろそろスレ違いだな

179 名前:デフォルトの名無しさん [2009/06/05(金) 08:08:41 ]
クラスをグローバルにしたいんだけど、
extern AClass a;
でいいの?

180 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 08:22:59 ]
バッチファイル書けば楽にならないか?

cd ..\...\
bcc32 %1

とか。



181 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 09:58:57 ]
ルートで作業するのは論外。

182 名前:デフォルトの名無しさん [2009/06/05(金) 11:16:18 ]
ネットワークのプログラムを書いてると、「Windowsのファイヤーウォールがブロックしました」
みたいなメッセージが最初の動作時に一回だけ出るときがありますが、出ても最初の一回だけで
その後は出ません。これってプロパティのどこかにアンブロックしたという記録が残っている
のでしょうか?







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<89KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef