( ゚Д゚)ノ ギコ猫のプログラム相談室 part2
1 :
新米ギコ :
2000/07/12(水) 00:13
2 :
名無しさん@1周年 :2000/07/12(水) 00:19
明治乳業は安全ですか?
873 名前: 名無しさん@1周年 投稿日: 2000/07/11(火) 23:29 便乗質問させて下さい。ウインドゥが三つあるアプリで 起動直後の各ウインドウの比率はどうやって決めればいいんでしょうか? 自分はあるウインドウを MoveWindow(hChild1@` 0 @` ToolbarH@` LOWORD(lp)/5@` HIWORD(lp)/1.7@` TRUE); してあとの二つをこれに合わせてるんですが、おかしいですよね。 なんか定石みたいなのあるんでしょうか? -------------------------------------------------------------------------- 前のスレからの転載と
4 :
名無しさん@1周年 :2000/07/12(水) 00:34
なぜネットでは「教えて君」は嫌われますか? 現実社会では嫌な顔一つせず、親切に教えてくれる人が多いのに。
5 :
名無しさん@1周年 :2000/07/12(水) 00:46
>4 現実社会と違ってネットでは相手と自分の関係が希薄だから クソな質問だと答える意味がなくなる
6 :
>4 :2000/07/12(水) 00:49
オマエモナー
7 :
>4 :2000/07/12(水) 00:52
現実社会(ネットだって現実社会なんだけどね),というか面と向かって 「ボケ」「自分で調べろ」「逝ってよし」とは言いにくいけど,やはり単 なる教えて君は嫌われていると思うぞ. ところで「逝ってよし」なんてのは口頭で言われても何のことだかわから んだろうな.わかったらそいつは2ちゃんねらーだ.
8 :
>4 :2000/07/12(水) 00:58
わらわらわらわら沸いて出て いつもいつもいつもいつも おんなじおんなじおんなじ しつもんをしつもんをしつもんを するからだするからだするからだ。
9 :
>4 :2000/07/12(水) 00:59
現実世界でも、ろくに調べもせずに聞いてくる奴は嫌われますが。 そーゆーのは「ヘルプって知ってる?」で終わりにします。
10 :
前スレの865 :2000/07/12(水) 01:01
10のx乗をx=0から6まで0.2刻みで表示したいのですが なぜかx=0、0.2、0.4、6のときだけ表示されないんです。 ほかはちゃんと出るのに・・・。 #include <stdio.h> #include <math.h> main() { double f@`r; for(r=0;r<=6;r+=0.2) printf("%4.2f\n"@`pow(10@`r)); }
11 :
>4 :2000/07/12(水) 01:02
現実世界だと、嫌でも嫌な顔を見せない人も多いと思うよ? 嫌われたくないからしょうがなく教えたりとか。 親切な人も多いかもしれないけど。
現実・ネット問わず、受け身ONLY臭が漂ってるヤツはウザい。 7の言うように面と向かって言えるかどうかの違いだけ。
13 :
>10 :2000/07/12(水) 01:13
課題は自分でやれ。
14 :
>2 :2000/07/12(水) 01:19
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜′ ̄ ̄( ゚Д゚)< 暗黙じゃないから大丈夫だ!! UU ̄ ̄ U U \_____________
15 :
>10 :2000/07/12(水) 01:37
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜′ ̄ ̄( ゚Д゚)< ペンティアム・バグだな。たぶん UU ̄ ̄ U U \_____________
16 :
>10 :2000/07/12(水) 01:59
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜′ ̄ ̄( ゚Д゚)< 使ってないfは外せ! rもdoubleで初期化しろ! UU ̄ ̄ U U \ doubleの型はfじゃない! 課題は自分でやれ! \_____________
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜′ ̄ ̄( ゚Д゚)< 10は何が悪いんだ? UU ̄ ̄ U U \_____________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ∧_∧ 頭 >(´∀` ) __________/ ( )o
18 :
>10 :2000/07/12(水) 05:46
forループに少数使うな。 for(r=0;r<60;r+=2){ printf("%4.2f\n"@`pow(10.0@`r/10.0)); } だ。
19 :
>18 :2000/07/12(水) 05:52
forループにヘンな増分使うな for ( i=0 ; i<30 ; i++ ) { printf("%4.2f\n"@`pow(10.0@`r*0.2)); } が正解だ。
20 :
>19 :2000/07/12(水) 05:53
ウソツキハシネ
自分でスレッドを立てて質問しましょう ---------------------------完-----------------
22 :
名無しさん@1周年 :2000/07/12(水) 07:34
VC++のリソースエディタでダイアログを作るとき、 座標やサイズがピクセル単位ではなく独自の単位で管理されてるけど あれってウザすぎ。何とかならないのでしょうか?
23 :
>22 :2000/07/12(水) 07:48
ダイアログの表示に使うフォントサイズが変ると表示がおかしくなるのはウザくないですか?
自分でスレッドを立てて質問しましょう ---------------------------完-----------------
25 :
18>19 :2000/07/12(水) 07:50
for(i=0;i<100;i+=foo()){ ... } の場合、どうすんのよ。
自分でスレッドを立てて質問しましょう ---------------------------完-----------------
たしかにウザいです。 手抜きなプログラムを組むときには便利なんだけど、 痒いところに手が届かなくて残念。 やはり自分でスクリプト書けってことなのかな。
28 :
名無しさん@1周年 :2000/07/12(水) 08:07
>22 DU(Dialog Unit)でしょ? 23が言ってるけどpixelじゃなくて DUで管理されてるからこそ助かってる部分も多いのよ。
自分でスレッドを立てて質問しましょう ---------------------------完-----------------
30 :
。>22 :2000/07/12(水) 08:10
ダイアログリソースには、ダイアログ基本単位というのがあって、 1ダイアログ基本単位のピクセル数は、環境により変化します。 これは、Windowsのネイティブな実装なので、ダイアログエディタは ピクセル単位での編集することはできません。というか無意味です。 GetDialogBaseUnitsとダイアログテンプレートに関するところを ヘルプで調べて見る事をお勧めします。
うーん、確かにそうなんですが、、、 個人的にはツールの設定で切りかえれるようにして欲しかったです。
32 :
>23 :2000/07/12(水) 10:17
そのわりには、フォントの大きさの設定が変わったら、スタティックテキストの 端の一文字が欠けたりするんだから困りもの。
33 :
名無しさん@1周年 :2000/07/12(水) 10:46
上げとく
34 :
名無しさん@1周年 :2000/07/12(水) 12:13
とりあえずage。
35 :
23>32 :2000/07/12(水) 12:44
そうなんだよね、とくに困るのが、ダイアログをはみ出してるやつ。 「こ、これより下にボタンがあるんだけど、押せない・・・」
36 :
最近気付いた :2000/07/12(水) 12:56
K仲川という人はホントに性格悪いね。 前からそうは聞いていたけれど、やっと思い知りました。
37 :
名無しさん@1周年 :2000/07/12(水) 16:02
39 :
名無しさん@1周年 :2000/07/12(水) 18:44
age
40 :
新米ギコ :2000/07/12(水) 23:19
41 :
JAVA初心者 :2000/07/13(木) 00:19
JDKのみで(Servletとか無しで) ネットワーク対応のゲームなどは出来ますか?
42 :
名無しさん@1周年 :2000/07/13(木) 00:23
>41 いえーい。RMIでマルチプレイヤーゲーム作成中!
43 :
名無しさん@1周年 :2000/07/13(木) 00:45
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< ソケットオブジェクトを使え!!
>>41 UU ̄ ̄ U U \_____________
44 :
名無しさん@1周年 :2000/07/13(木) 02:26
>41 もしアプレットでやるならセキュリティ上自分の置いてあったサーバーとしか 通信できないからサーバーに中継プログラムかなんかが必要。
45 :
ちゃうちゃう :2000/07/13(木) 03:38
プログラミング勉強中のものです。 WinCを勉強してますが、格好いいですか?
自分でスレッドを立てて質問しましょう ---------------------------完-----------------
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(@` ゚д゚) < WinCって何だ? 猫だからわからんぞ
>>45 ヽ/ | \_____________
(__∪∪)
おお、あんよがかわいい〜 >47
49 :
新米ギコ :2000/07/13(木) 10:53
50 :
グラマっち :2000/07/13(木) 11:04
クラスを作成して使う上でのポリシー(?)について教えてほしいのですが、 クラスから別ファイルのグローバルに宣言された変数や定数を参照するのは いいのでしょうか? クラス内へ取り込む口を設けるべきなのでしょうか?
51 :
名無しさん@1周年 :2000/07/13(木) 11:12
言語がなんだか分からんが、OOP言語でグローバルなんか使うな。 せめてクラスのパブリックスタティックメンバにしろ。 その方が整理がついて他人が理解しやすい。
52 :
グラマっち :2000/07/13(木) 12:00
失礼しました、言語はC++です。 その変数や定数を外部の関数からも参照したいのですが、 その場合はやはり、最初のインスタンス作成時or作成後に パブリックスタティックメンバに値をセットするという形になるのでしょうか?
53 :
名無しさん@1周年 :2000/07/13(木) 12:11
プライベートの方がいいかもしれないぞ。 というか、よほどのことがない限りプライベートにするべきだ。 ま、プログラムの構造にもよるがな。
54 :
>52 :2000/07/13(木) 14:32
たとえばどういう場合に必要だと思うの?
55 :
グラマっち :2000/07/13(木) 14:55
>52 プログラム全体で共通の変数を参照したいということは よくある事ではないのでしょうか? 私は、その場合にグローバルにある変数を直接参照するのは クラスのポリシーに反するのではないか?という疑問を持った のです。
56 :
>55 :2000/07/13(木) 15:01
スパゲッティあげる過程では確かによくあるけど、最初からはやらないなあ
57 :
名無しさん@1周年 :2000/07/13(木) 15:18
例えばこうしましょう。(かなりいいかげんな例なので、 真似したりしないように。考え方だけね。) 訳のわかんないオブジェクトが勝手にgrobalの値を 変えてしまう事を防げます。 GrobalFieldのインスタンスのありかを知っているオブジェクト だけにgrobalを変更する権利があるって言うところかな? import java.lang.*; public class GrobalTest { public static void main (String args[]){ GrobalField gr = new GrobalField(); Test1Class test1 = new Test1Class(gr); Test2Class test2 = new Test2Class(gr); test1.setGrobal(); test2.showGrobal(); } } class GrobalField { private int grobal ; public void setGrobal(int i){ grobal = i; } public int getGrobal(){ return grobal; } } class Test1Class{ private GrobalField field ; private final int i = 100 ; public Test1Class(GrobalField gr){ field = gr; } public void setGrobal(){ field.setGrobal(i); } } class Test2Class{ private GrobalField field ; public Test2Class(GrobalField gr){ field = gr; } public void showGrobal(){ System.out.println(field.getGrobal()); } }
58 :
>55 :2000/07/13(木) 15:21
とにかく例をあげてみて。 たいていは上手くクラス化する方法があると思うよ
59 :
>55 :2000/07/13(木) 15:22
プライベートメンバーにして アクセス用のパブリック関数(メソッド)で公開がセオリー。 値の更新記録のログとったりブレークポイントを設定できたり 実質的にうれしいことも結構有るぞ。
60 :
グラマっち :2000/07/13(木) 16:22
>58 <gbl.h> DWORD g_Count; [eof] <cls.h> #include "gbl.h" class cls { public: cls(); ~cls(); void inc() { g_Count++;} void dec() { g_Count--;} } [eof] こんな感じのものを考えていました。
61 :
名無しさん@1周年 :2000/07/13(木) 16:41
だったらclass clsのプライベートメンバで良いじゃないか。
62 :
。>60 :2000/07/13(木) 17:01
要するに、セマフォみたいな物を作りたいのかな? class cls { private: static DWORD g_Count; <略> }; と定義して、 DWORD cls::g_Count=0; とでもを書いておけばいいでしょう。 プログラム起動時の初期化で、0が代入されます。 注意すべきことは、clsクラスのインスタンスを 静的に生成する場合、初期化の順番が問題となる可能性があることです。
63 :
名無しさん@1周年 :2000/07/13(木) 17:15
プライベートメンバをそういう風に外から初期化できるんだっけ?
>>63 staticは最初の一回だけ初期化されるから、
>>62 みたいに書かなきゃ
ならないはず。
65 :
。>63 :2000/07/13(木) 17:26
出来ますよ。
66 :
。> :2000/07/13(木) 17:31
また、friendなクラスや関数から cls::g_Count=0; とやってもいいですが。
67 :
グラマっち :2000/07/13(木) 17:40
すいません、私の説明不足でした。 g_Countはプログラム内のさまざまな関数から 触れられる可能性があるが、どのタイミングで書き換わっても問題が ない物です。 60さんには申し訳ないのですが、::incと::decはg_Countに触れている という事を示すために作りました。ですのでセマフォというわけでは ありません。 また、g_Countはプログラム全体から参照される変数なので メンバには持たせられません。 56さんのとおり、基本的にはグローバル変数には直接触れないようにする物 みたいなので、やはりインターフェイスを設けようと思います。
68 :
。>67 :2000/07/13(木) 17:51
セマフォじゃなくても、同じやり方でいいんだけど。 アクセスの際のオーバーヘッドを嫌うなら、 アクセスメンバをinlineにすれば問題ないでしょう。 まぁ、staticメンバにしないで、clsクラスの インスタンスをグローバルスコープで静的に 生成してもいいですが。
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜′ ̄ ̄( ゚Д゚)< カプセル化するつもり無いならclassを使う必要無し!! UU ̄ ̄ U U \_____________
70 :
名無しさん@1周年 :2000/07/13(木) 17:54
??? 62さんのやり方でええやん。 class clsにstatic getXXX()@`static setXXX()作って、 cls* p; p->setXXX(); p->getXXX(); (pにインスタンスを与える必要無し) とかやったら?
71 :
名無しさん@1周年 :2000/07/13(木) 18:01
main()を含むファイルに cls globalcls; して、共通用のヘッダでextern あとg_Countの初期化ってcls::clsでやったらいかんの?
72 :
37 :2000/07/13(木) 18:16
>40 遅くなったけどありがとう
73 :
。>71 :2000/07/13(木) 18:17
clsクラスのインスタンスを別のどこかで生成しただけで、まずいことになるんで、 コンストラクタで初期化しないほうが、安全だと思います。
74 :
。> :2000/07/13(木) 18:20
あっ、73はg_Countをstaticにする場合ならです。
おかげさまで見えてきました、
こんな感じでやろうと思いますが、 どうでしょうか? [cls.h] class cls { public: cls(){}; ~cls(){}; static void SetV(DWORD a) { m_Count = a;} static void GetV(LPDWORD pa) { *pa = m_Count;} static void SetP(DWORD *a) { m_pValue = a;} static void GetP(LPDWORD *pa) { *pa = m_pValue;} private: static DWORD m_Count; static LPDWORD m_pValue; }; DWORD cls::m_Count = 0; LPDWORD cls::m_pValue = NULL; [main.cpp] #include "cls.h" #define MAX_COUNT 100 DWORD Value; void appinit() { cls::SetV( MAX_COUNT); cls::SetP( &Value); } int main(void) { appinit(); cls obj[500]; return 0; }
77 :
>76 :2000/07/13(木) 18:50
それは、なんか違う気が・・・ コンパイルは通してみましたか?
78 :
名無しさん@1周年 :2000/07/13(木) 18:53
getterでポインタ渡すよりも、 戻り値にしたほうが楽じゃない?
79 :
名無しさん@1周年 :2000/07/13(木) 19:26
頼むからインデントしてください。 s/半角スペース二つ/全角スペース/g でな。
80 :
名無しさん@1周年 :2000/07/13(木) 21:09
DWORD Value; これグローバルにしてたら何の意味もないじゃん。
81 :
名無しさん@1周年 :2000/07/13(木) 21:18
グローバル変数をクラス内に隠蔽する事の意味を解ってるんだろうか? さすがに、それが理解できていないと苦しいなぁ。 構造化プログラミングでも出てくる命題の1つなんだけどな。
82 :
名無しさん@1周年 :2000/07/13(木) 21:18
VCのコンパイル環境ないのでよく分からんが こうでしょ? class cls { public: cls(){}; ~cls(){}; static void SetV(DWORD a) { m_Count = a;} static DWORD GetV() { return m_Count;} static void SetP(DWORD a) { m_pValue = a;} static DWORD GetP() { return m_pValue;} private: static DWORD m_Count; static DWORD m_pValue; }; DWORD cls::m_Count = 0; DWORD cls::m_pValue = 0;
83 :
名無しさん@1周年 :2000/07/13(木) 21:24
こんなのもありっしょ? (コンパイルチェックしてないからまちがってるかもしれんが) class cls { public: static cls InitInstance{ if(instance != NULL ) instance = new cls(); return instance; } ~cls(){}; void SetV(DWORD a) { m_Count = a;} DWORD GetV() { return m_Count;} void SetP(DWORD a) { m_pValue = a;} DWORD GetP() { return m_pValue;} private: cls{} DWORD m_Count; DWORD m_pValue; static cls* instance; }; cls::instance = NULL;
84 :
名無しさん@1周年 :2000/07/13(木) 21:29
InitInstanceじゃなくてgetInstance()の方がいい名前かな? んで、変数欲しいところで cls* p; DWORD setval = 100; p->getInstance().setV(setval); DWORD val = p->getInstance().getP(); とかやってくれ。
85 :
名無しさん@1周年 :2000/07/13(木) 21:34
static cls InitInstance{ じゃなくて static cls* getInstance(){ getInstance().setV(setval); じゃなくて getInstance()->setV(setval); だな。 だれかコンパイル環境くれ。
86 :
名無しさん@1周年 :2000/07/13(木) 21:36
if(instance == NULL ) instance = new cls(); だよねえ。。。 あうー後は勘弁してくり。
87 :
グラマっち :2000/07/13(木) 23:15
>80 どうして意味がないのでしょうか? 教えてください。
88 :
新米ギコ :2000/07/13(木) 23:17
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ <とりあえず、グラマっちは一回 Effective C++を読め!! ( ゚Д゚) 日\____________ /つ つ====== 〜 ( (/ し
>87 思いもしなかった別オブジェクトとかが 変なタイミングでとんでもない値入れないように、 一生懸命変数を外部から隠蔽しているのに、 実体をグローバルに作ったら元の木阿弥。 その気になればC++ではグローバルは一切必要ないんだぞ。 脳みそカチカチC使い(糞COBOLERか馬鹿BASICERの可能性も高いな) が考え方変えられなくていつまでもグローバル使うんだよなあ。
90 :
>76 :2000/07/13(木) 23:42
全部staticメンバのclsクラスのインスタンス作るのは 意味が無い気が・・・
>90 そだね。しかも500個も。 あと、あるクラスの変数初期化がグローバル関数なのも Cを引きずってる感じで意味不明。 #defineするよりも、clsのconst staticメンバにした方が ただしいんちゃうかな? んで、初期化関数もclsのメンバにしようよ。
92 :
グラマっち :2000/07/13(木) 23:59
>87 隠蔽する事の意味はわかるのですが・・・ 67にも書いたようにグローバル変数はどのタイミングで 書き換わっても問題が無いという前提でして、 今まで構造体とそれ専用の関数で管理を行ってきたものを クラスで行うという試みなのです。 あと、私は89さんの察しの通りC専です(まだ見習いですが)。 仕事ではWindowsのプログラムを書いています。
>92 だったらその構造体とそれ扱う関数全部一個のクラスに入れろ! あほか!それがC++のクラスじゃ!!!
94 :
グラマっち :2000/07/14(金) 00:09
>90 確かに76では意味がありません、 中身を真に受けての突っ込みは勘弁してください。 >91 Cを引きずっていると言うか、私はCが基本ですので・・・ Cのプログラムを基本に使いやすいところだけクラスに してみようと言う試みなのでした。 全体をクラスでまとめ上げるなんて高度な事は私には出来ません。 なんかだんだんどこの板にもいる真性電波っぽくなってきて 悲しいですー
95 :
名無しさん@1周年 :2000/07/14(金) 00:11
>92 1.クラスを一つ作りましょう。 2.その構造体の変数のすべてをprivateメンバにしなさい。 3.その専用の関数すべてをpublicメンバにしなさい。 4.クラスのコンストラクタで変数を全部初期化しましょう。 5.プログラム内で一個だけそのクラスのインスタンスを作りましょう。 (84のやり方が、いわゆるクラスデザインパターンの代表格シングルトンパターン) 6.インスタンス.メンバ関数();でその変数にアクセスしましょう。 。。。そのへんにあるC++の本チャンとよもーよ。。。
96 :
グラマっち :2000/07/14(金) 00:13
>93 すんません。 そうしようとしていたときに、#defineされているものの 扱いはどうすればいいのかなあ?と思ったのです。
97 :
95 :2000/07/14(金) 00:14
追加 クラスのprivateメンバは全部「値」でおっけい。 ポインタもってグローバルの変数さすようなまねは必要ないです。
98 :
>93 :2000/07/14(金) 00:15
privateの const staticメンバにする
99 :
98 :2000/07/14(金) 00:16
失礼 >96 でした
100 :
名無しさん@1周年 :2000/07/14(金) 00:20
>96 元が#define XXX_YYY 100で、それが件のグローバル変数の 初期化専用だとしたら C++ではそいつをクラスの中で public : static const int XXX_YYY = 100; と宣言して、 コンストラクタで 初期化対象変数=XXX_YYY; とでもしましょうね。
101 :
名無しさん@1周年 :2000/07/14(金) 00:27
static const のクラス定義内での初期化って、 VC++6.0(SP3)では通らなかったが、どうなった?
102 :
グラマっち :2000/07/14(金) 00:36
>95 なんとなく、なんとなーく、解ってきました。 一度、ちゃんと本を読んで見ます。 Cで組む感覚とはまったく違うようなので、 少し、勉強してまいります。 ところで、今私がやろうとしている基本はCで 使いやすいところだけ、クラスっていうスタンスは ダメなんでしょうか?
103 :
名無しさん@1周年 :2000/07/14(金) 00:38
>102 一人でやるならおっけい。 共同開発では禁止。周りが迷惑。
104 :
>102 :2000/07/14(金) 00:44
共通の関数をクラスでまとめるって考えは悪くないけど 88さんの言うように、Effective C++あたりを読んで ちゃんと勉強したほうがいいかもしれませんね。
105 :
名無しさん@1周年 :2000/07/14(金) 00:48
Effective C++いいよね。僕の聖典です。
106 :
95 :2000/07/14(金) 00:51
>105 あうう。おいらはプログラミング言語C++第3版と more Effective C++しかもってないんですが、 Effective C++も読んだ方がいいでしょうか?
107 :
>106 :2000/07/14(金) 01:18
読んだほうがいいと思います。 Moreとは別のテクニックが載っているので
108 :
名無しさん@1周年 :2000/07/14(金) 11:37
109 :
名無しさん@1周年 :2000/07/14(金) 14:55
―――――――――――――― 最近駄スレ多いな __ __ .r―――――――― ∨ | 内定決まったドキュンガクセイが流入してるんだろ 日 凸 U | ______ ≡≡≡≡≡| / .∧ ∧ / ̄ ̄ ̄ ̄ ̄ U ∩ [] ∨% (´∀` ) <........(オマエモナー) __ ∧∧___ .∧∧|つ∽)_ \_____ ( @`@`)日 ( @`@`) ∇ ― / | ――.../ | ――― \(__.ノ \(__.ノ ━┳━ ━┳━  ̄ ┻  ̄ ̄ ̄┻ ̄ ̄ ̄ ̄
111 :
名無しさん :2000/07/14(金) 17:45
JAVAでGIF画像の特定領域を塗りつぶすにはどうしたらよいのでしょうか? BASICの paint(x@`y@`color) みたいな感じのやつです。
112 :
>111 :2000/07/14(金) 17:56
g.drawImage( gifImg@` imgX@` imgY@` this ); g.setColor( color ); g.fillRect( fromX@` fromY@` toX@` toY ); じゃいかんの?
113 :
>111 :2000/07/14(金) 17:57
AWTにはない。 Swingは、、、知らない。誰かパス。
114 :
112 :2000/07/14(金) 17:59
あ、すまん、勘違いしてた。
115 :
>111 :2000/07/14(金) 18:00
場合&画像にもよるが、「特定領域」を透明色にして 背景色をいじると言うのはダメ?
116 :
111 :2000/07/14(金) 18:01
>112 fillRect は矩形ですよね?不定形領域を塗りつぶしたいのです。
117 :
111 :2000/07/14(金) 18:03
なんか大量のお答えありがとうございます。 >115 それも考えたのですが今回はだめです。 というのも、塗りつぶす領域は複数あるからです。
118 :
115 :2000/07/14(金) 18:43
>117 んじゃ、塗りつぶすべき領域を全て透明色にして、 背景を全部塗りつぶさずに 領域ごとの背景に部分的に一つずつfillRectするというのは? たいていの画像ならそれでフォローできると思うけど。 ダメかなぁ。
119 :
名無しさん@1周年 :2000/07/14(金) 22:56
ファイル名とかを区切る \ ってなんて呼びますか? デリミタでいいんでしたっけ?
120 :
名無しさん@1周年 :2000/07/14(金) 23:01
うん
121 :
名無しさん@1周年 :2000/07/14(金) 23:02
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< バックスラだ!!
>>119 UU ̄ ̄ U U \_____________
122 :
名無しさん@1周年 :2000/07/14(金) 23:11
直交性ってどういう意味でしょうか?
123 :
名無しさん@1周年 :2000/07/14(金) 23:14
エイヅになる確立がが非常に高いまぐわい
124 :
名無しさん@1周年 :2000/07/15(土) 00:07
ふと思い出した… JPEG2000ってどんな感じ? 規格は固まった? ライブラリは 出てる? ちっと検索したかぎりじゃ、規格も固まってなさそうだけど、どう?
125 :
農学部生 :2000/07/15(土) 00:39
スミマセン質問なんですが、 えっとビットってのは、スイッチのOn、Offみたいな感じで、16ビットってのは2の16乗でいいんですよね? んで、バイトってのは容量のことですよね? 普段何気なく何Mバイトとかいって使ってますけど、バイトが良くわからんです。 わかりやすく説明してください
126 :
名無しさん@1周年 :2000/07/15(土) 00:50
8bit = 1byte のこと? じゃぁ無いよね?
127 :
名無しさん@1周年 :2000/07/15(土) 00:58
8bit=1byte
128 :
127 :2000/07/15(土) 00:59
>126 先を越されたけどそう言うことでしょ。
129 :
名無しさん@1周年 :2000/07/15(土) 01:00
8bitは1octet よくよく考えると1Byteってなに? たいてい8bitなんだろうけどマシン固有?
昔のゲームは ROM の量を bit で表記してたね
131 :
名無しさん@1周年 :2000/07/15(土) 01:02
1バイトは必ずしも1オクテッドってわけじゃないよ。
132 :
名無しさん@1周年 :2000/07/15(土) 01:04
CPUがほとんどの演算で使用可能な最低の情報単位かな。
133 :
農学部生 :2000/07/15(土) 01:05
あ、そうなんですか。わかりました。有り難うございます。 でもなんでいちいちbitとbyteを区別するのですか?
134 :
農学部生 :2000/07/15(土) 01:07
あ、書いたとたん132さんが答えを・・そうなんですか。有り難うございました。感謝
135 :
名無しさん@1周年 :2000/07/15(土) 01:07
bitは情報の最小単位 byteは現実の演算単位。かといってbit演算ができないわけではないよ。
136 :
名無しさん@1周年 :2000/07/15(土) 01:08
1円玉だけで買い物をするの不便だよね。
∧∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ρ(゚Д゚ )< オレって悪役〜♪ 口⊇⊂ | \_____ /"/|/ 丿┐ ///UU'//┐=3 ぶべべべ〜 ◎ ̄ ̄ ̄└◎  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
悪役〜♪
139 :
名無しさん@1周年 :2000/07/15(土) 01:30
そうだおまえなんかシネ
140 :
>新米ギコ :2000/07/15(土) 01:35
挫けず、頑張れ。 他のスレで変な煽りしたのがお前じゃないならな。
すんません、プロトタイプ宣言に関して詳しいHPってありませんかね(笑)
142 :
名無しさん@1周年 :2000/07/15(土) 02:02
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< 同じ悪役〜♪同士仲良くやろう!!
>>138 UU ̄ ̄ U U \_____________
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< 「シネ」ではなく「氏ね」だ!!
>>139 UU ̄ ̄ U U \_____________
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< 煽りは基本だが、気に食わないのは削除だ!!
>>140 UU ̄ ̄ U U \_____________
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< すまん探してる暇なし!! K&R2ndで我慢してくれ!!
>>141 UU ̄ ̄ U U \_____________
144 :
名無しさん@1周年 :2000/07/15(土) 03:48
コンパイル済みの状態遷移表をソースに埋め込で公開という オープンソースもありですか? 状態遷移表を生成するツールは売ります。
145 :
名無しさん@1周年 :2000/07/15(土) 11:52
VBにはディストリビューションウィザードというのがありますよね。その他にVisual Studio Installerというものもあったんですけど@`こちらのほうが使いこなせば高機能なんでしょうか?
146 :
名無しさん@1周年 :2000/07/15(土) 14:12
ついでにInstallShieldとかついてるけど、それも合わせて
147 :
>133 :2000/07/15(土) 23:00
ハード寄りの話するとメモリアドレスを割り振ってある最小単位のこと。 理論上1ビットずつにアドレス割り振ったCPUもありうる。 そういうマシンだと1ビット=1バイトになるのか? (っていうかそもそもバイトなんて言葉がいらないか) 1ビットづつアドレス割り振るとアドレスのビット数に対して 扱えるメモリ容量も少なくなるし136のひとも言ってるように プログラムがすごくめんどくさくなる。 むかしは1バイト=9ビットのコンピュータとか有ったらしいよ。
148 :
初心者君 :2000/07/15(土) 23:53
WinCのSDKについての質問です。 case IDOK: GetDlgItemText(hwnd@` ID_EB1@` str@` 80); MessageBox(hwnd@` str@` "Edit Boxだっぺ"@` MB_OK); return 1; この場合の「return 1;」はどういう意味なのでしょうか? 恥ずかしながら、「return 0;」の時と「return 1;」の 使い分けというか、違いがわかりません。 0=false 1=true と思ったのですが、この場合は一体 それが何をしめすのやら・・・。
149 :
名無しさん@1周年 :2000/07/16(日) 00:46
148さんのはおそらくダイアログのコールバック内での話だと思うので そのことに限定して話しますが、送られてきたメッセージを処理した場合はTRUEを、 メッセージに応答しなかった場合はFALSEを返すという決まりらしいです。 なんでそうしないといけないかはよく知りません。 (ご存知の方がいれば教えてください。) ちがってたらごめん。
150 :
名無しさん@1周年 :2000/07/16(日) 00:57
俺も、おそらくダイアログプロシージャの話だと思うので、その前提で話します。 ダイアログプロシージャでは、送られたメッセージを処理しなかった場合は0、 処理した場合は0以外を返すというルールがあります。 理由は、0が返された場合にフレームワークがそのメッセージに対するデフォルトの 処理をするためです。
151 :
>147 :2000/07/16(日) 01:26
byteって単位はもともとIBMの用語でしょ?(もしかしてシッタカ?) 昔は、なにを1byteというか、決まりがなかっただけじゃないかな。 "bye addressing"@` "word addressing"って言葉があるぐらいだから。 アドレッシングの1単位がbyteというわけではないはず。
152 :
149 :2000/07/16(日) 01:34
なるほど。またひとつ勉強になったなぁ。 っていうか初心者丸出しだな、オレ。 恥さらしついでに質問を。 クラス内からメンバ関数へのポインタを参照しようとすると virtual指定をしているわけでもないのに 仮想関数へのポインタを参照しようとしましたって言われ コンパイラエラーになるのですがナンゼ?
153 :
初心者君 :2000/07/16(日) 01:38
>149@`150さん 勉強になりました〜。 本当に助かりました。 こういう基本的なところをちゃんと抑えて勉強していこうと思います。 ちなみに、参考書は翔英社の「Windows98プログラミング c/c++による ソフトウェア構築」という奴です。
154 :
名無しさん@1周年 :2000/07/16(日) 01:42
基底クラスでvirtual宣言されているメンバ関数を オーバライドしているのでは? >152
155 :
名無しさん@1周年 :2000/07/16(日) 02:02
プログラム関連ではないですけど、ご意見下さい。 雑談やネタは専用のスレッドをひとつ立てて、 それ以外の雑談・ネタスレッドは無視というローカルルールを提案したいのですが、 どう思いますか?
悪意のある人がルールを守るとは思えないので無駄ではないでしょうか?
157 :
155 :2000/07/16(日) 02:11
悪意のある人は勝手にやってもらって、基本的に雑談は専用スレで。 専用スレに悪意ある人がきた場合は無視、という方向で考えています。
>>155 雑談はまとめてもいいと思うけど、ネタって結局、スレッドタイトルと1の内容に
全てがかかってるからネタを一本にまとめるのは不可能に近いと思うぞ
ネタじゃなくて課題の丸投げとかは無視してもらいたいとは思う。
159 :
名無しさん@1周年 :2000/07/16(日) 02:20
ローカルルールは馴れ合いのもと。 新参者を排除する口実になるから、嫌いじゃ。
専門板は、ローカルルールを決めて自治を行いなさいってのが、 2chのルールだが。 また、ルールを守れない方は来ないでくれってのも、2chの方針だ。 これは、ひろゆきが何度も語っていること。
161 :
名無しさん@1周年 :2000/07/16(日) 02:52
質問です。初心者なのですが、プログラムの勉強してると わからないところがたさくさんあり、詰まってしまいます。 そいう場合は、わからなくてもとりあえず進んでしまって良いんでしょうか?
162 :
名無しさん@1周年 :2000/07/16(日) 03:30
日本のルールを守らないひろゆきが聞いてあきれるぜ
>>161 良くないです。理解しようと努力して下さい。
164 :
149 :2000/07/16(日) 04:00
特に凝ったことはしてないんだけど class cChooseDlg{ public: cChooseDlg(HINSTANCE hInst@` HWND hParentWnd ); ~cChooseDlg(); private: BOOL CALLBACK DlgProc( 〜略〜 ); }; cChooseDlg::cChooseDlg(HINSTANCE hInst@` HWND hParentWnd ) { CreateDialog(hInst@`"CHOOSEDIALOG"@` hParentWnd@` (DLGPROC)DlgProc ); //ここでエラー } DlgProc関数をstaticで宣言すればエラーは無くなるけど 他の非静的メンバにアクセスできなくなって不便。 んー、ひょっとして何か根本的に間違ってるのかな?
165 :
名無しさん@1周年 :2000/07/16(日) 04:05
166 :
>164 :2000/07/16(日) 04:13
MFC読んどけ
167 :
>161 :2000/07/16(日) 06:03
そーゆー時は、別の説明(今詰まっているのより、ずっと短い本とか、 短くまとめたサイト)を読んで、大づかみに(でもきちんと)理解して 戻ってくると、あーら不思議。分かるー、というふうになったり。なら なかったり。 今詰まっているのが、読んでる文章が合わなくてなのか、詳しい説明が ないがためになのか、俺には知るすべもないが… ま、運もある。やってりゃその内慣れるよ。(えらそー) 飛ばして進むも良いと思う。ただ、どうせ飛ばしたがためにその部分が 分からなくて、飛ばしたところに戻ってくるので、いいんじゃん?
168 :
>164 :2000/07/16(日) 06:12
関数ポインタの引数は、メンバ関数ではだめです。 オブジェクトのインスタンスが作られてないので コールバック関数側ではどのオブジェクトのメンバ関数を 呼べばいいかわからないからです。 CreateDialog関数の場合抜け道はあるんでしょうか?
169 :
> :2000/07/16(日) 06:48
static な関数のアドレスを返す static な関数 と キーをHWND@`値をオブジェクトのアドレスに持つ連想配列をグローバルで 作って逆引き を組み合わせればまあなんとかなるっしょ
170 :
名無しさん@1周年 :2000/07/16(日) 09:29
171 :
164 :2000/07/16(日) 12:15
引用ありがとうございます。 初めて知りました。
172 :
名無しさん@1周年 :2000/07/16(日) 13:00
char *a = "Hello"; こうやるのと char b[] = "World"; こうやるのって何が違うんですか?
173 :
名無しさん@1周年 :2000/07/16(日) 13:08
"Hello"のデータ型は const char 型の配列,記憶クラスは static 後者は"World"+'\0'のサイズの自動またはグローバル変数 つまり前者 a[0]='X'とやってはいけない。後者は可能 というか前者のaについて constを宣言しておいた方がいい
174 :
名無しさん@1周年 :2000/07/16(日) 13:46
よく見かけますがK&Rって何ですか?
>174 本です
176 :
名無しさん@1周年 :2000/07/16(日) 14:05
これだけ言われるってことはそんなにいい本なんですか 今度見てみます。
177 :
名無しさん@1周年 :2000/07/16(日) 14:16
K&Rってそんなに良い本ですかね? すげ〜読みずらいんですけど。(立読み)
178 :
>172 :2000/07/16(日) 14:21
上のは "Hello"という文字列ヘのショートカットを、 それに対し下は "World"という文字列のコピーを作ってる と言った感じ。
179 :
172 :2000/07/16(日) 14:36
ありがとうございます。>173さん、178さん とりあえず別物だということがわかりました。 でもどう使いわけるのかが謎っす。
180 :
名無しさん>177 :2000/07/16(日) 14:39
そーでちゅよねー某ここをシリコンバレーにするとかいう 目的で創設された大学があるんだがそこの教科書がKアンドR でした.んでその友達にCわかるって聞いたらわからんって返事 だったね.大体大学ってところは名著を教科書にもってくるんだが 名著=わかりやすい ってことはないね 以上
181 :
名無しさん@1周年 :2000/07/16(日) 14:56
Thunk(サンク)を簡単に説明すると、 16bit時代のWinでは、セグメントレジスタというのがあった APIでコールバックしてもらう時に、このセグメントレジスタもいっしょに返して貰わないとマズイ EXEの場合はセグメントは自分で知っているからいいがDLLの場合はこれは方法が無い。 (今はDLLはアプリごとにロードされるが、その頃のDLLは全部のアプリで共有されていたからだ) そこで、Thunkという小さなコード(わずか2命令)を MakeProcInstanceで作って DLLを呼び出す時はこのThunkを経由して呼び出す事にした。そしてこのThunkがセグメント値を覚え ていて、セグメントを設定するのだ。 32bitに移行してこの問題はなくなったが、オブジェクト指向は同じ種類の悩みを提供する事になった クラスメソッドをコールバックしてもらうにはthis(self)も同時に返して貰わなければならない。 16bit時代のDLLにおけるDSと全く同じ悩みを抱える事になったのだ。 ならば解決方法も同じでよい。
182 :
初心者君 :2000/07/16(日) 15:18
K&Rはフォートランなどの他のプログラムに精通した人がCに移行するために 作られたから、プログラム初心者には難しいと聞きました。 確かに、難しいです・・・。 それ以前にK&R日本語版の日本語がかなり読みにくいですよね。 翻訳がかなりへぼいとおもいます
∧ ∧ / ( ゚Д゚)< 「こんな初心者プログラマは嫌だ」っつーネタスレが作りたくなった!! |つ つ \ 〜 | ∪ ∪
184 :
>170 :2000/07/16(日) 17:15
185 :
名無しさん@1周年 :2000/07/16(日) 17:26
プロトタイプ宣言って hoge(int i){ printf("gikogiko"); } こういう関数のばやい int hoge(int); とするのが正しいんですか? void hoge(int); だとワーニングでるんスけど。 retuen(); のない関数に対して void って付けるものだと思っているんですが。 何か大きな間違いを犯しているような気がするんですが。
186 :
名無しさん@1周年 :2000/07/16(日) 18:00
上のソースですが hoge(int i){ printf("gikogiko %d"@`i); } です。正確には。iが未使用っていうワーニングだろっていう 突っ込みがはいりそうなんで、自主修正したです。すまんこ。
187 :
名無しさん>185 :2000/07/16(日) 18:00
引数と戻り値の関係は大事だろ そのhoge関数は引数も戻り値もないじゃないか void hoge(void)ってするの!もぅ #include<stdio.h> #include<conio.h> void hoge(void); void main(void) { hoge(); } void hoge(void) { printf("gikogiko\n"); getch(); あとhogeって書く位だからlinuxのgccだったらば getch();→getchar();と書くこと ああ おれこれにレス書きたいんじゃなくて 182くん そうそう初心者にはむずかしいの!! でも名著だから後から読めばいいの! 以上 }
188 :
>184 :2000/07/16(日) 18:40
確かにメモリ上のポインタを使ってるからなあ。 前にあったスレッドではレジスタ渡しにしたのもあったんだけどね。
189 :
名無しさん@1周年 :2000/07/16(日) 19:22
>>185 hoge(int i){
printf("gikogiko");
}
のように戻り値の型を省略すると、
デフォルトで戻り値の型が int になります。
ですのでプロトタイプ宣言を
void hoge(int);
とするとプロトタイプ宣言では hoge の戻り値の型が void@`
実際の関数の定義では hoge の戻り値が int になっていて、
hoge の戻り値はどちらが正しいのか判断できなくなるので
conflicting type なんたらというエラーになるはずです。
この関数定義に対しては
int hoge(int);
が正しいプロトタイプ宣言になります
# もともとプロトタイプ宣言はヘッダファイルに書いて関数の仕様を定義し、
# 実装における戻り値や引数の型のミスマッチ、また引数の個数の
# (間)違いをコンパイルの時点で見つけられるようにするための物ですからね。
>189さん ありがとうございます、納得しました。
191 :
名無しさん>344 :2000/07/16(日) 22:09
なんかぐちゃぐちゃめんどくさいこと言ってるが本となのかよ189!! #include<stdio.h> #include<conio.h> int hoge(int); void main(void) { hoge(); } int hoge(int) { printf("gikogiko"); getch(); } !Too few parameters in call to 'hoge(int)' ! function should return a value だぜ それでなっとくする190 ぐるかお前ら おれには返事はなしかい! これだからいやなんだよ初心者は だいたい後の訂正はなんだよ printf("gikogiko %d"@`i); 最初のぎこぎこはなんだったの??引数がききたかったなら printf("%d\n"@`gikogiko);とでもすればよかっただろ そうすれば #include<stdio.h> #include<conio.h> void hoge(int gikogiko); void main(void) { int i; i=3; hoge(i); } void hoge(int gikogiko) { printf("%d"@`gikogiko); getch(); } となってエラーなどでねえよ あと質問するときはmainと関数部分くれえ書けよ わかんねぇじゃねえか
192 :
名無しさん :2000/07/16(日) 22:10
344は関係なし
もろ偏見はいってますが、女性プログラマで使える人しってますか? 僕はいまいち、信用できませぬ・・・
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| | ギコ募集中 | | | |___________| ∧ ∧ || / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ゚Д゚)|| < メルアドとメアド、どっち使ってる? .(| |つ | オレはメアドだ!! 〜| | \____________ .U U
>>191 もうちょっと整理して考えたほうがいいですね。
全ての間違いを指摘するのもいいですが、
系統立てて説明して
どこが原因でどのエラーが出ているのかもうちょっとはっきりさせないと
わからない人はますます混乱するばかりで
行き当たりばったりの対処しか出来ないままです。
あとあんまりケンカ腰で書かれても困るのですが。
>>191 もうちょっと整理して考えたほうがいいですね。
全ての間違いを指摘するのもいいですが、
系統立てて説明して
どこが原因でどのエラーが出ているのかもうちょっとはっきりさせないと
わからない人はますます混乱するばかりで
行き当たりばったりの対処しか出来ないままです。
あとあんまりケンカ腰で書かれても困るのですが。
あ、すいません、引数はどーでもよくて、 ただ単純にプロトタイプ宣言の書式が知りたかっただけです。 returnのない関数はvoidでいいのかと思ってまして。はい。
198 :
>191 :2000/07/16(日) 23:45
void hoge(void) { ... } なら、void で、 int hoge(void) { int i; ... return i; } になるのかなぁと。
199 :
新米ギコ :2000/07/16(日) 23:53
プロトタイプの書き方 新米ギコ編 (1)関数を書く void fonc(int dat){ //あたま /*ここにギコ猫をたたえるコードを書く*/ } (2) 1で書いた関数のあたまの部分をコピー (3) コピーしたのをファイルのてっぺんのほうにペースト void fonc(int dat){ //あたま (4)ペーストした部分からいらないところを取り;をつける void fonc(int dat); (5)終わり ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜′ ̄ ̄( ゚Д゚)< 逆も真ナリ UU ̄ ̄ U U \_____________
>199 うん、ぼくもそう思ってるんだけど。 関数の型って、返り値がない場合はvoidだよね? なんか、勘違いしてる?
旅行から帰ってきてみれば。。。 この糞レスの並びはなんなんだ?
202 :
>200 :2000/07/17(月) 00:43
int です (ワラ
203 :
名無しさん@1周年 :2000/07/17(月) 01:32
voidだと暗黙的に mov eax@` 0 となるわけだね?>202
204 :
名無しさん@1周年 :2000/07/17(月) 01:51
プロトタイプ宣言が無ければ返り血が int と仮定されるけど それだけだね。 202 はあほだ。 C 言語はアセンブラへの変換規則を定めているわけじゃない。 C の規定をアセンブラで説明できるわけが無い。 203 はあほだ。 結論:あほばかり
205 :
名無しさん@1周年 :2000/07/17(月) 01:51
返り血の型を書かなければint、returnがなければvoidです。
206 :
名無しさん@1周年 :2000/07/17(月) 01:52
しつれ、returnが無いか、returnが値を返さない場合がvoid、でつね。
207 :
名無しさん@1周年 :2000/07/17(月) 02:13
>206 考え方おかしいんじゃない? 値を返さない関数で良い場合はvoidにすれば良いだけ。 関数定義が先にあって、それから宣言を考えるのは逆だと思うぞ
クズがクズのコードで勉強してクズなことをクズな場所で言ってるだけだからな
<SCRIPT LANGUAGE="JavaScript"> &lt;!-- handle = getCookie("Handle"); if (handle == "") { handle = ""; } function getCookie(key@` tmp1@` tmp2@` xx1@` xx2@` xx3) { tmp1 = " " + document.cookie + ";"; xx1 = xx2 = 0; len = tmp1.length; while (xx1 < len) { xx2 = tmp1.indexOf(";"@` xx1); tmp2 = tmp1.substring(xx1 + 1@` xx2); xx3 = tmp2.indexOf("="); if (tmp2.substring(0@` xx3) == key) { return(unescape(tmp2.substring(xx3 + 1@` xx2 - xx1 - 1))); } xx1 = xx2 + 1; } return(""); } // --&gt; </SCRIPT>
210 :
名無しさん@1周年 :2000/07/17(月) 06:06
から揚げ
211 :
名無しさん@1周年 :2000/07/17(月) 06:18
あほとばかがいっぱいいます
212 :
206>207 :2000/07/17(月) 10:47
なんの話してる最中か、すこしはその前のを読んでから反論しようね。 (ヤレヤレ・・・
213 :
名無しさん@1周年 :2000/07/17(月) 12:56
>>212 ちょっと待て
それでいいのか?いいのか? (どきどき
いいの?いやまじで
214 :
185 :2000/07/17(月) 14:46
お詫び。 私、勘違いしてました。 プロトタイプ宣言って、参照される前で宣言されてないとダメなんですね。 プリプロセッサが勝手にコレクトしてテーブルかなんか作るのかと思ってました。 (良く考えればそんなわけないよね・・・) つまり、定義した関数の直前に並べていたためにワーニングが出たわけです。 ヘッダつくって移動したら見事に解決。 で、関数の型宣言そのものは返り値に対しての型つまり return (int)hoge; であって、このintがデフォルトでの無宣言時のもの、という意味だったわけですね。 どうもすいません。 #昔、mainをmianにしてて騒いだ粗忽者です・・・。プログラマに向いてませんかね。私・・・
215 :
212>213 :2000/07/18(火) 00:24
<206 プロトタイプに返り値を書かないのと、関数の返り値が無いのとの違い のことを書いたんで、定義が先か実装が先かについての話じゃないってことさ。
ごみぇ〜ん。なんか話がずーっとかみ合ってないような 気がするのは、おいらだけ? プログラム言語より前に日本語勉強しようよ〜〜〜。
217 :
名無しさん@1周年 :2000/07/18(火) 01:52
>216 ジャ日本語教えてくれ
>217 サイタ、サイタ、サクラガサイタ、 ハト、マメ、テッポウ。
219 :
名無しさん :2000/07/18(火) 02:02
おれだっ ボスだ てめえらコレクトテーブルとかぬかすまえに プログラムコード100本作って来い だいたいプログラムの話に プログラムソースかかねえで へんな理屈こねんじゃねえよ プログラム書くときにぷりぷろせっさがとか考えて書いているのかい? プログラムなんて知的なところなどなにもねえよ あるのはそのまえの理論やアルゴを考えるところだ
アルゴって方言ですか?
221 :
名無しさん@1周年 :2000/07/18(火) 04:33
アルゴリズム@` データ構造@` 数値計算@` 工程管理 どれが一番重要ですか?
222 :
>221 :2000/07/18(火) 04:43
予算
223 :
名無しさん@1周年 :2000/07/18(火) 04:47
3セルって知ってる?
224 :
名無しさん@1周年 :2000/07/18(火) 04:56
>223 エクセル用語ですか?
225 :
名無しさん@1周年 :2000/07/18(火) 04:59
フリーセルなら昔良くやりました
226 :
名無しさん@1周年 :2000/07/18(火) 06:04
そうか、若い人は知らんか。 ノマセル、ダカセル、ニギラセル といってな、商売に不可欠な3つなんじゃ。
227 :
名無しさん@1周年 :2000/07/18(火) 06:37
malloc と newってどう違うの? C++ではnewを使っているのが多いんだけど、よく分からないよ
228 :
名無しさん@1周年 :2000/07/18(火) 06:46
newはコンストラクタが呼ばれるがmallocはメモリの確保のみ つーかC++ onlyなソースでmallocなんて使わないのでは?
229 :
>226 :2000/07/18(火) 09:15
いまでも不可欠ですか?
230 :
名無しさん@1周年 :2000/07/18(火) 13:11
struct と classってどう違うの? C++ではclassを使っているのが多いんだけど、よく分からないよ (実はマジ質問)
231 :
>230 :2000/07/18(火) 13:17
デフォルトで公開するかどうかの違いです。詳しくはヘルプをごらんなさい。 汎用クラスとしての形態じゃなくて、 1)関数内関数的処理を書きたい時 2)例外からの巻戻保護を書きたい時 とか関数内で定義してそれっきりみたいな場合にstructを使うといいでしょう
232 :
新米ギコ :2000/07/18(火) 13:22
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< C++はnew推奨だ!!
>>227 UU ̄ ̄ U U \_____________
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< 不可欠だ!!
>>229 UU ̄ ̄ U U \_____________
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< メンバ関数を持っていなかったらstructで我慢だ!!
>>231 UU ̄ ̄ U U \_____________
233 :
名無しさん@1周年 :2000/07/18(火) 13:56
なんでみんなC++でstructつかうんだろ? せっかくクラスがあるんだから、例えば代入時にポインタメンバ のコピーだので変なこと起きないようにする関数や、 データメンバの読み書きをより細かく定型化出来るような関数 いっしょにしてクラスにしたら、より安全なのに。。。
234 :
>233 :2000/07/18(火) 14:12
231が言ってるとおり、structとclassの違いは、 デフォルトがpublic:かprivate:か、だけだから、 使う人がCの構造体に近いからstructっていう 感じなんじゃないかな? あとはclassがよくわからなくて恐いから、慣れ てるstructを使うとか。
235 :
231 :2000/07/18(火) 14:21
いやだから、関数内で定義するような場合 (巻戻保護と関数内関数的処理) は、どうせ関数内ローカルなんだからpublicもクソもない。 だったらstructでいいし、そうした方が見分けがついてい いと思うというような趣旨なんだけど
236 :
233 :2000/07/18(火) 14:32
>231 ごめんちょ。あなたの言うとおりです。良く読んでなかった。 でも、巷にはおいらの話みたいなこと、結構あるよね???
あ、、、結局おれが一番わかってなかった、すんまソン
すみません〜 いまVisualC++でプログラムくんでるのですが、 子ウィンドウを親ウィンドウの外に出すことってできるのでしょ うか〜(x_x) 親ウィンドウはダイアログでやってますー。SDIで、親を非表示 にしてやってみたけどだめだったので〜 あ、sdkではなくてMFCつかてやってます。
239 :
名無しさん@1周年 :2000/07/18(火) 22:08
_
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< DetachしてCreateExしなおせ
>>238 UU ̄ ̄ U U \_____________
240 :
名無しさん@1周年 :2000/07/19(水) 00:12
子ウィンドウ作るときに、WS_CHILD外せ。
241 :
初心者です。 :2000/07/19(水) 01:21
すいませ〜ん、あたしも質問よろしいでしょうか?? わたし、ウインドゥスプログラムの初心者なんですけど・・・ (ちなみにC++Builder4つかってます。) GUIとシステムの間に「インターフェース」を入れることに関して 「GUIとシステム双方を独立したものとし、相手の要求に容易に応えたい」 ってう考え自体は理解できるのですが・・・ 実際、どのように実装したらいいのかが全然わからないです・・・ どうか、お助けください。お願いしますです。m(__)m
242 :
名無しさん@1周年 :2000/07/19(水) 02:44
そんなに単純じゃないけど、とりあえずDataModuleにすべてを記述して、 Formから呼び出すようにしてはどうでしょうか?
巻き戻し保護という言葉は始めて聞きましたがいったいなんのことなのでしょうか?
244 :
名無しさん@そうだ選挙にいこう :2000/07/19(水) 04:31
RollBack Protecton
245 :
名無しさん@1周年 :2000/07/19(水) 05:08
僕もよく知らないので確認したいんですが、 例外発生時にcatchブロックに飛ぶ為にスタックを巻き戻す動作と それに伴う弊害防止(資源開放のデストラクタを持ったラッパークラス?) の事でいいんでしょうか? try-catch以外で巻き戻しが発生する事ってないですよね? (あ、普通に関数が戻る際にスタックが戻るのも「巻き戻し」っていうのかな?)
中級者の知ったか用語はよくわからない。言ってる本人が理解できてないんだから。
247 :
245 :2000/07/19(水) 05:58
すいません自分でもそれは凄く感じます。 模範解答教えてください
248 :
246 :2000/07/19(水) 07:03
本人の説明を待つとしますか…
249 :
231 :2000/07/19(水) 09:16
巻戻は unwind the stack
巻戻保護は unwind protect (LISPか何かだったかではキーワードに)
あそこで書いた巻戻保護とは javaにある finallyと同じような使い方
こんな感じ
http://www.asahi-net.or.jp/~dp8t-asm/java/tips/finally.html の事です。
ローカル変数(クラス)のデストラクタは,その変数が宣言されたブロック外に出た
時に呼び出されます。それはreturnであっても、例外であってもです。
これはつまりjavaのfinallyと同じ効果を持つという事です。
ふつう喋って相手に伝える時はアンワインドプロテクトという。
書くときは短くなるから巻戻と書く。判っている相手にはこれで
伝わるし、解らない相手にはどうせ伝わらない。
239さん。240さんありがとうございます ごめんなさい、また質問です。WS_CHILDはずすのってどうすればい いのでしょう? いま「WS_OVERLAPPEDWINDOW | WS_VISIBLE 」って指定をしているので このあとに"&~WS_CHILD"ってつけてみたら、プログラムが不正終了する んです(/_;)
251 :
さすらいのサラリープログラマ :2000/07/19(水) 09:44
すでに出来上がっているWindowのスタイルビットを変更するなら ws = GetWindowLong(hwnd@` GWL_STYLE); SetWindowLong(hwnd@` ws & ~WS_CHILD); SetWindowPos(hWnd@` HWND_NOTOPMOST@` 0@` 0@` 0@` 0@` SWP_NOZORDER|SWP_NOSIZE|SWP_NOMOVE|SWP_DRAWFRAME); //redraw でいくかな? それから、WS_OVERLAPPEDWINDOWはWS_CHILDと併用できると思えないんだけど。
252 :
>250 :2000/07/19(水) 09:44
& WS_CHILDだと、WS_CHILDだけになってしまいますよね? &(~WS_CHILD)だとWS_CHILDでないものだけ という意味になります
253 :
名無しさん@1周年 :2000/07/19(水) 09:45
SetWindowLong(hwnd@` ws & ~WS_CHILD); は間違い SetWindowLong(hwnd@` GWL_STYLE@` ws & ~WS_CHILD); でした
254 :
名無しさん@1周年 :2000/07/19(水) 09:51
なんだ Lisp の話だったのか。道理でわからないわけだ わらぃ あれ、何の話をしてたんだったかな…
255 :
231 :2000/07/19(水) 09:55
巻戻という場合と違って 巻戻保護は、「必ず実行させたい」という方のニュアンスが強いです 正常な流れを乱されるのは例外発生だけ(longjumpは別にして)なので 例外からの巻戻しから保護すれば「必ず実行」されますからね。 詳しい内容は、ご自分で finally / unwind で検索して勉強して下さい
256 :
名無しさん@1周年 :2000/07/19(水) 10:49
delphiも同じかなとやってみたら try writeln('try'); exit; //cのreturn と同じ finally writeln('finally'); end; と exitでもabortでも finally節は実行された。
257 :
>238 :2000/07/19(水) 12:43
>いま「WS_OVERLAPPEDWINDOW | WS_VISIBLE 」って指定をしているので それ、ホントに子ウィンドゥスタイル? 親じゃない?
238です ええと……CWndで新しいオブジェクト作って pWnd->Create(…ってやってるんですが…… できた窓が親窓の外にでられないので、ああ これが子窓っていうんだな…って漠然とおもっ ていたのですが……違うのでしょうか。 >251@`252さん お答えありがとうございます。というわけで馬鹿なりに やってます……
259 :
名無しさん@1周年 :2000/07/19(水) 15:51
ビットフラグ(フラグを1bitで表現してメモリを節約するやつ)のやりかたきぼーん。 自分で作ってみたけど、なぜか上手く動かないです。
260 :
名無しさん@そうだ選挙にいこう :2000/07/19(水) 16:11
ビットフィールド使うなら struct flags{ unsigned int flag0 : 1 ; unsigned int flag1 : 1 ; } aFalgs; ってかんじで、aFlags.flag0、aFlags.flag1とかは普通に変数として (もちろん1ビットの変数)使えます。あと、 void bitset(int *a@` int pos){*a |= (1 << pos) ; } void bitreset(int *a@` int pos){*a &= ~(1 << pos) ; } int bittest(int a@` int pos){return(a & (1 << pos)) ; } っていうのもアリですかね?
261 :
名無しさん@1周年 :2000/07/19(水) 17:36
ビット操作マクロ。使え。 #define BIT(n) (1 << (n)) ビットをセットする flag |= BIT(n); ビットをリセットする flag &= ~BIT(n); ビットをチェックする flag & BIT(n);
262 :
> :2000/07/19(水) 17:37
うにゃ…… unsigned char Flag; 1bits: Flag&(0x01) 2bits: Flag&(0x02) 3bits: Flag&(0x04) : : てなかんじでいけないですかね? 間違ってたらゴメン
263 :
名無しさん@1周年 :2000/07/19(水) 17:59
261と本質的に同じだけど #define SET_BIT(f@` n) ((f) |= 1<<(n)) #define RESET_BIT(f@` n) ((f) &= ~(1<<(n))) #define TEST_BIT(f@` n) ((f) & (1<<(n))) 私はこう書いてる..そんなけ。 ビットフィールドを使って書くと、悩むことが増えるから嫌い..そんなけ。
264 :
>263 :2000/07/19(水) 18:14
ん〜、引数に副作用を与えるマクロはなんかや。
265 :
名無しさん@1周年 :2000/07/19(水) 20:14
259のうまく動かないソースを見てみたい・・・
よってたかって嘲る?
10年前ならともかく、今のこのご時世に 新入りに妙なマクロ教えんな。
268 :
265 :2000/07/19(水) 22:23
いろんな方法があるから259のソース添削するのが一番いいような気がして・・・
269 :
名無しさん@1周年 :2000/07/19(水) 22:49
STLのbitset!!!
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜′ ̄ ̄( ゚Д゚)< オレ出る幕無し!! UU ̄ ̄ U U \_____________
271 :
名無しさん@1周年 :2000/07/19(水) 23:12
valarray<bool>もいいみたいだぞ。
...ギコが答えないギコスレなんて、 コーヒーの入っていないくりいむれもん。
273 :
名無しさん@1周年 :2000/07/20(木) 01:20
以下のソースでvirtualを継承元で、使用しなくても、 結果が同じになるのですが、仮想関数とはどういう風に 使用するものなのでしょうか? 聞き方も分かりにくいかと思いますが、どなたかお願いします。 class A{ public: virtual int kaso(); }; class B : public A{ public: int kaso(); }; int A::kaso(void){ cout << "A" << endl; return 0; } int B::kaso(void){ cout << "B" << endl; return 0; } int main(void){ A a; B b; a.kaso(); b.kaso(); return 0; }
274 :
新米ギコ :2000/07/20(木) 01:35
/*面倒なので略*/ int main(void){ A a; B b; A *hoge = &a; hoge->kaso(); hoge = &b; hoge->kaso(); return 0; } ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (@`@`゚Д゚) < なんつったりして ./ | \_____________ (___/ /
275 :
名無しさん@1周年 :2000/07/20(木) 01:43
一旦virtualにしたら継承する限り末代までvirtual.
276 :
名無しさん@1周年 :2000/07/20(木) 02:17
よく分からないけど、 class C: public A{ }; int main(void){ A a; B b; C c; a.kaso(); b.kaso(); c.kaso(); return 0; } で、良いのかな....
277 :
名無しさん@1周年 :2000/07/20(木) 03:55
typedef struct { int lv; } ch2; enum{SIZE=100@`}; int main() { ch2 **ar = malloc( sizeof( 2ch * ) * SIZE ); ch2 *p; int i; for ( i = 0; i < SIZE; ++i ) { ar[i] = malloc( sizoef( ch2 ) ); ar[i]->lv = 10; } p = *ar; } このソースなんですが、pを++、--したりして arの中を動き回れるようにしないんですが・・・・ これであってます?なんだかうまく逝きませんです。
278 :
名無しさん@1周年 :2000/07/20(木) 03:56
2ch -> ch2
279 :
名無しさん@1周年 :2000/07/20(木) 04:02
誰か勇者はいませんか? fj.comp.lang.cの喧嘩スレッドを2chでスレッドたててsageながら やれって言ってほしいです。
280 :
>277 :2000/07/20(木) 04:33
ポインタの配列を使う理由は? p = malloc(sizeof(ch2)*SIZE); ではいけないのか? どうしてもポインタの配列にするなら、 ch2 **p; p = ar; とし、データには、(*p)->lv でアクセスすれば p++@`p--が使えるはず。
281 :
277>280 :2000/07/20(木) 04:48
あぜんです。 >ポインタの配列を使う理由は? 良く分からず使ってました・・・。 ちなみにこれで働いてるわけではないです。(^^;;; >p = malloc(sizeof(ch2)*SIZE); でうまく逝きました。 どうもありがとうございます。
282 :
名無しさん@1周年 :2000/07/20(木) 08:51
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (@`@`゚Д゚) < んなこたぁ無い |\@`_/ つ┯つ \_____________ | ~て )@` ̄\ ◎ ̄∪ ̄ ̄◎
>>273 これでいいかい?
コンパイルしてないので、バグがあったら取ってね。
class Super{
public:
virtual int func(){cout << "Super" << endl;}
};
class Sub1: public Super{
public:
int func(){cout << "Sub1" << endl;}
};
class Sub2: public Super{
public:
int func(){cout << "Sub2" << endl;}
};
int main(void){
Super* ps[3]; //3つともSuper*型なのがミソ
ps[0] = new Sub1;
ps[1] = new Sub2;
ps[2] = new Super;
ps[0]->func();//出力は”Sub1”
ps[1]->func();//出力は”Sub2”
ps[2]->func();//出力は”Super”
}
284 :
新米ギコ :2000/07/20(木) 23:15
∧ ⊂/ /⊃ lヽlヽ/ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ⊂(゚Д゚ )⊃ < 教えて君大量流入か〜 \______
285 :
名無しさん@1周年 :2000/07/20(木) 23:23
int **a; *a = (int*)malloc(sizeof(int)); これって正しいの? さらに、、、、、 int **a; *a = (int*)5; これは?私としてはどっちも正しくないように思うのですが。 上司は正しいのだというのです。 実行して例外が起こることを実践しても 全然信じてくれません。 アセンブラ知ってるから、大丈夫だと信じていたのに・・・ コンピュータの基本動作原理が分かってて、 C言語における表記法を知っていれば、こんな間抜けなことは無いと。 まじ、へんな会社に入っちゃったな-。
286 :
名無しさん :2000/07/20(木) 23:35
*a = (int*)malloc(sizeof(int)); の前に a = (int**)malloc(sizeof(int **)); とかが入っているなら正しいんじゃないかなあ。 *a = (int*)5; こっちは何してるんだオマエってな気がする。
287 :
名無しさん :2000/07/20(木) 23:42
あっと、 *a = (int*)malloc(sizeof(int)); も *a = (int*)malloc(sizeof(int *)); だな。
288 :
<285 :2000/07/20(木) 23:46
*a = (int*)5 ; って、aが初期化されてるとして、無理やり意味を見つけるとしたら、 16bit環境で86で、int3の飛ぶ先のセグメントを取り出したいって ことか、あ、でも**aの意味が無いか。 aが初期化されてない事についてはどっちも正しくないけどね。
289 :
>285 :2000/07/21(金) 00:33
C言語の構文的には正しいと思うよ。 意味的には未定義っぽいが。
290 :
名無しさん@1周年 :2000/07/21(金) 00:41
>289 正しくないんじゃない? 286が言ってる処理が必要だと思うぞ
>289 "構文的には正しい"の意味がわからない時点で、キミに論ずる資格無し。
292 :
名無しさん@1周年 :2000/07/21(金) 00:57
シンタックスチェックは通りますね、たしかに。 ワーニング(処理系によってはエラー)は出るけど。
293 :
名無しさん@1周年 :2000/07/21(金) 01:36
これって読みにくいですか? long lvalue; double fvalue; char *eptr; if ( lvalue = strtol ( token@` &eptr@` 0)@` *eptr=='\0') token_type = 'i'; else if ( fvalue = strtod ( token@` &eptr)@` *eptr=='\0') token_type = 'f';
わたしには読みにくいです。
なしてIF文の中で2文動かしてんだよー? よくわかんないけど、 どっちに対して真偽ひろってんのかわかんなくない? コンパイラの実装依存とかになっちゃうんじゃないの?
@`演算子の左側は必ず捨てられるから一応大丈夫ではあるような気がするな
あうーそーなのけ。不勉強ですいません。 でも、そういう誤解の余地のあるソースなんか 迷惑なので組んじゃいけないと思うんだけど。
>289 なるほど、あほらし。
ソースは綺麗かも(わかってれば) えぇわかってます。良くないですよね
300 :
教えて君 :2000/07/21(金) 17:37
http://うんぬんかんぬん ↑
この「://」部分って何も考えずに打ってるけど、何か特別な意味はあるんですか?
ただのプロトコルとアドレスの区切りってことはない気はするんだけど。
301 :
名無しさん@1周年 :2000/07/21(金) 18:44
:までがプロトコル指示部です。 //がLocationのmostTopを示します。 /が各サーバにおいての(論理上の)topです。 #と今適当に考えた。
302 :
名無しさん@1周年 :2000/07/21(金) 19:24
AccessのMDBがあまりにも大きくなりすぎたのでオブジェクト全部削除したところ まだサイズが7Mほどあるんですが一体なにが入っているんですか?
303 :
名無しさん@1周年 :2000/07/21(金) 20:17
うんこ
304 :
名無しさん@1周年 :2000/07/21(金) 21:02
なるほど、それは必要なさそうですね。 という訳でいちじく浣腸を挿そうと思うのですが PCのどの穴につっこんだらいいんですか?
305 :
>302 :2000/07/21(金) 23:21
マジにウンコが詰まってます (^^;) メニューバーに「最適化」とかなんとか書いてある項目があるから それを実行してみてね。
306 :
名無しさん@C勉強中 :2000/07/21(金) 23:53
307 :
名無しさん@1周年 :2000/07/21(金) 23:56
∧_∧ / ̄ ̄ ̄ ̄ ̄ ( ´∀`)< 男は黙って0返しとけ ( ) \_____ | | | (__)_)
308 :
名無しさん@1周年 :2000/07/21(金) 23:58
∧_∧ / ̄ ̄ ̄ ̄ ̄ ( ´∀`)< 今日は人少ないね ( ) \_____ | | | (__)_)
309 :
MFC学生 :2000/07/22(土) 00:05
MFCでSDIアプリケーションを作りました。 ツールバーの外観は「リバー」ではなく「標準」に設定しました。 この後、ダイアログバーを追加したのですが、 TABキーでダイアログバーにフォーカスを移動したり、 ダイアログバーの中にある &R などといったショートカットキーが 使えるようにするにはどうすれば良いのでしょうか? ギコさんお願いします。
310 :
>306 :2000/07/22(土) 00:06
voidで間違ってないよな(w
311 :
名無しさん@1周年 :2000/07/22(土) 00:12
) γ  ̄ ) / リd" l" / ̄ ̄ ̄ ̄ ̄ ______ 从从~(フノ) < intにしてね ( ANSI準拠なら) / ̄ ̄ \∩ \_____  ̄ ̄∨ ̄ ̄ ̄ ∠__ イ | フ ∧∧ / __ \/ |_/ ( ゚Д゚)ノ~<|`T´\| ∪| | | |´ 〜| | | | | ∪∪ | ̄| ̄| | ̄ ̄| | ̄| ̄ \  ̄  ̄ ̄
312 :
302 :2000/07/22(土) 00:13
>305 最適化してみましたがあんま変わんなかったです・・ 2.0の頃から変換変換で誤魔化してきたのが悪いんでしょうか? とりあえず2000でもっかい作り直してみることにします。
間違ってないけど、いい作法じゃないね。
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜′ ̄ ̄( ゚Д゚)< void房、逝ってよし UU ̄ ̄ U U \_____________
315 :
名無しさん@1周年 :2000/07/22(土) 00:17
FAQぐらい読めよ
316 :
>309 :2000/07/22(土) 02:42
∧_∧ / ̄ ̄ ̄ ̄ ̄ ( ´∀`)< 本屋に逝っとけ ( ) \_____ | | | (__)_)
317 :
名無しさん@1周年 :2000/07/22(土) 11:19
COMってなんですか?
>MS-DOSにおいて,COMモデルでプログラミングされた実行ファイルを >格納しておくためのファイル形式.ファイルの拡張子が.COMとなって >いる.最大64Kbytes(-256bytes)までのプログラムを格納,実行する >ことができる.ファイルの内容はオフセット0100hから始まる, >単なるx86のプログラムコードやデータの集まりであり, >特別なヘッダなどは何も付いていない.
319 :
名無しさん @そうだ選挙にいこう:2000/07/22(土) 13:40
yaccやlexについて詳しく扱ったサイトをご存じの方はいらっしゃいませんか? いろいろ探したのですが、文法のエラー処理まで扱ったサイトがまったく見つからなかったので・・・。
320 :
名無しさん@1周年 :2000/07/22(土) 13:48
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)< bison入門買え
>>319 UU ̄ ̄ U U \_____________
(ANSI)Cでは "OS 環境下"のCプログラムのmain()の戻り値は OSへのエラー報告になるのが決り。 0が正常で他はエラー(値の意味はOS依存). void main()を特別視して正常終了するようにコンパイル するCコンパイラは普通無いので、結果、ゴミの値をOSに 返すプログラムができる。 どうしても void 使って return 使いたくなければ、 #include <stdlib.h> して exit(0) で終了。 ただ終了値をOS(SHELL)が活用するかは別でDos/Winだと 無視して不都合無い人も多い(makeとか使うとばれるが)。
322 :
名無しさん@1周年 :2000/07/22(土) 22:17
>>319 Bison のヘルプファイル(英語)を読め!
下手な和訳は大学で1000円でうってたぞ!
こんな薄っぺらい本だった!
323 :
名無しさん@1周年 :2000/07/22(土) 23:15
cygwinのGDBを使ってデバッグしているんですが、 あるbreakpointで関数を呼ぶにはどうすれば良いんでしょうか? なんかjump 関数名とやったらWindows ごと落ちちゃいます。 2分木の作成途中に2分木の状態をみたいんです。
324 :
306 :2000/07/22(土) 23:25
ありがとうございます
325 :
名無しさん@1周年 :2000/07/23(日) 01:43
和訳は無料で配布してるけど
326 :
名無しさん@1周年 :2000/07/23(日) 01:54
SQL文で質問させて下さい。(idc+htx利用です) データベースを使って、簡単な掲示板をテストで作成してお りました。 (例)ACCESS内のテーブルをT_BBS、そのフィールドはそれぞ れID、NAME、MESSAGE、R_DATEとします。 このテーブルからR_DATE(書き込み日)の最も新しいものか ら10メッセージを取り出します。 これは、多分以下の方法でいいと思うのです。 SELECT TOP 10 NAME@` MESSAGE@` R_DATE FROM T_BBS WHERE ID ORDER BY R_DATE DESC こうして取り出したデータをhtxファイルに書出し、更にその ファイルに「次の10件」というリンクを作りたいのです。 しかし、この場合「次の10件」をどう取り出せるのかでSQL文 が思いつきません。 初歩の初歩かもしれませんが、宜しくご指導下さい。
327 :
名無しさん@1周年 :2000/07/23(日) 03:40
>>325 そうなんだ!和訳は無料でとってこれるのに
なぜか売ってたんだ!
これはなんなんだ?詐欺か?
手を叩いて笑えるぞ!
328 :
名無しさん@1周年 :2000/07/23(日) 03:40
>325 和訳なんてあるの....? 前に結構探したけど見つからなかったよ....
329 :
325 :2000/07/23(日) 04:38
330 :
名無しさん@1周年 :2000/07/23(日) 12:26
331 :
ちゅん :2000/07/23(日) 23:27
WinC SDKでシューティングゲーム作りたいんですけど、 参考になるようなHPありますか?
332 :
325-330 :2000/07/23(日) 23:30
買ったけどわけがわからん。 もっとわかりやすく書いてあるページのリンクキボーン
333 :
319 :2000/07/23(日) 23:35
ありがとうございました。
330さんの書かれたサイトから落としてtexi2htmlでHTMLに落として読んでいます。
325さんのヤツは現在DL中。
あと、gooで自作コンパイラのソースを配布してるサイトを発見。
http://www.tokumaru.org/
334 :
新米ギコ :2000/07/23(日) 23:40
これ立てるときに考えていたのだが、300レスくらいを目安に次のスレに 移行したほうがいいかなあと。 前のスレだと850くらいレスがついていて、それを最初から全部読もうと すると大変だったりと。 ほとんど書き捨てだとは思うのだが、それでも再利用できるのならば 使える方がいいわけで、そうすると300レスくらいかなあと考えてた。 こんなに早く300レス逝くとは思わなかったが、これくらいのレス数だと まだ読むことができるレス数だと思うのでpart3を作ってもいいんじゃ ないかなあと思いましたと。 /⌒∧∧ / ̄ ̄ ̄ ̄ ̄ ̄ ミ( (( ゚Д゚) < つーことで、誰かスレ立ててくれ!! 〜〜ミ ミ U U〜〜\_____
335 :
名無しさん@1周年 :2000/07/24(月) 01:35
300で弱音吐くヤツはドキュン。
test
337 :
>331 :2000/07/24(月) 13:50
338 :
名無しさん @そうだ選挙にいこう:2000/07/24(月) 14:52
>>335 書き込み数を押さえることによってログを読まない阿呆が少しでも減るなら別スレッドに移行してもいいかと。
まあ、読まないヤツはまったく読まないからあまり期待できないけど。
339 :
超初心者 :2000/07/25(火) 05:45
#include <iostream.h> char *string_uppercase(char string){ char *starting_address = string; // string[0]のアドレス while (*string) { if ((*string >= 'a') && (*string <= 'z')) *string = *string - 'a' + 'A'; string++; } return(starting_address); } int main(void){ cout << string_uppercase("Hello World") << endl; return 0; } こんなのがC++の入門書にポインタの使い方の例で載っていたのですが、 まずエラーが出ました。string_uppercaseの宣言のカッコの中のstringの頭に アスタリスクを付けると大丈夫でした。が、Win2000上でVCのコンソールアプリとして ビルドするとアプリケーションエラーになりました。 あと、何故関数名の頭にアスタリスクをつけるのかわかりません・・・。 あと、何故文字列をこのようなやり方で関数に渡せるのかもわからないんです。 ポインタでの変数とそうでない変数の、このソースでの扱いの違いもまだはっきりとわかりません バカな質問かもしれませんが、どなたか教えてもらえませんでしょうか?
ごめんなさい、インデントが消えちゃったので修正〜・・・ #include <iostream.h> char *string_uppercase(char string){ char *starting_address = string; // string[0]のアドレス while (*string) { if ((*string >= 'a') && (*string <= 'z')) *string = *string - 'a' + 'A'; string++; } return(starting_address); } int main(void){ cout << string_uppercase("Hello World") << endl; return 0; }
なんで出来ないんだろう厨房ですみまそん(泣)
342 :
新米ギコ1 :2000/07/25(火) 06:17
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(@`@`゚Д゚) <
>>341 全角スペースを使え!!
\ / つ ノ \________
(__-、ノ
ノノU
∪
342さんありがとうございます! いいかげんウザがられそうだけど再度修正〜 #include <iostream.h> char *string_uppercase(char string){ char *starting_address = string; // string[0]のアドレス while (*string) { if ((*string >= 'a') && (*string <= 'z')) *string = *string - 'a' + 'A'; string++; } return(starting_address); } int main(void){ cout << string_uppercase("Hello World") << endl; return 0; }
344 :
名無しさん@1周年 :2000/07/25(火) 06:44
Win32アプリで、Shell_NotifyIconでタスクバーにアイコンを登録しました。 そのアイコン上で、ポップアップメニューを出したんですが、そのメニューが うまく消えてくれないです。 どーしたらいいですか
むぎ茶に梅干を入れて飲んだら気持ち悪くなりました。どうすればいいですか。
吐いて良し!
perl板が落ちてます。どうしよう
348 :
>343 :2000/07/25(火) 07:50
簡単にいってchar* は文字列です。 char *string; とやると、char型のイメージが付いてしまうので、 char* string; とやった方が、しっくりする。 char* string@` string2; の「string2はchar*型?」って勘違いしてしまうかもしれない危険があるけどね。
349 :
名無しさん@1周年 :2000/07/25(火) 08:05
エロゲーなんて、非生産的なことばかりやってる奴らに何 とかいってやってください(笑い せっかくのパソコンなんだから、プログラムの一つでもか けるようにでもなろうとしないんですかね(笑い まあ、馬鹿に何いっても無駄ですが……
350 :
名無しさん@1周年 :2000/07/25(火) 08:30
#define エロゲ好き 0 #define なし 0 #define MAX_知性 16 char* 将来(int 厨房@`int 知性){ if(厨房!=エロゲ好き || 知性 <= なし) return("ドキュ〜ン!\n"); switch(知性/(MAX_知性/4)) { case 0://遊ぶだけ return("エロゲメーカーに貢ぐフリーター\n"); case 1://そこそこ return("エロゲ企画屋\n"); case 2://スキル有り return("エロゲプログラマ\n"); case 3://知性人並み return("エロゲディレクター\n"); default://突然変異 (知性 >= MAX_知性) return("更正の道を歩む\n"); } return("これ出たらエラー\n"); }
―――――――――――――― 覚えたての言葉使いたがる奴等がいるみたいだな __ __ .r―――――――― ∨ | 厨房、信者、ドキュン氏ねとか言ってる奴等のことか 日 凸 U | ______ ≡≡≡≡≡| / .∧ ∧ / ̄ ̄ ̄ ̄ ̄ U ∩ [] ∨% (゚Д゚ ;) < ま〜、夏ですから __ ∧∧___ .∧∧|つ∽)_ \_____ ( @`@`)日 ( @`@`)∇ ― / | ――.../ | ――― \(__.ノ \(__.ノ ━┳━ ━┳━  ̄ ┻  ̄ ̄ ̄┻ ̄ ̄ ̄ ̄
覚えたてのテキストアートを使っている馬鹿がここにも一人
Winscokを使用しているのですが 1つのプログラム内で同一のIPアドレス同士の 接続はできるのでしょうか? (プログラムを2つ立ちあげるとできたのですが...)
age
355 :
名無しさん@1周年 :2000/07/25(火) 11:15
ecx@`edxってどういう意味? アセンブラ言語みたいだけど
いつも思うんだけどC言語を何の本も見なくてカタカタとコードかける人って すごいと思います。 私なんかせいぜい本のパクリ(応用)が良いところです。 どういたら全ての関数などを覚えてああやったカタカタ打てるようになるのでしょう。
357 :
>355 :2000/07/25(火) 11:18
358 :
名無しさん@1周年 :2000/07/25(火) 11:21
ずっと気になってたんですけど IEを使っていてエラーが出たときに「"0x70d0a234" の命令が "0x00000000" のメモリを参照しました。メモリが "read" になることはできませんでした。」 とか表示されますけど、ここからデバックを開始した場合プログラムの知識がある皆さんはどのような内容を読み取ることができるのでしょうか?
359 :
>356 :2000/07/25(火) 11:22
たぶん多くのプロはすべての関数など覚えておるまい
360 :
新米ギコ :2000/07/25(火) 11:23
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<
>>332 http://japan.infoseek.com/ だ!!
UU ̄ ̄ U U \_____________
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<
>>335 300ではない、333だ!!
UU ̄ ̄ U U \_____________
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<
>>336 テストはテストリストを作ってからだ!!
UU ̄ ̄ U U \_____________
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<
>>338 読まぬ阿呆に、読む阿呆。 同じ阿呆なら読まなきゃソンソン
UU ̄ ̄ U U \_____________
361 :
新米ギコ :2000/07/25(火) 11:28
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<
>>334 M$の仕様だと思い込め!!
UU ̄ ̄ U U \_____________
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<
>>345 うなぎに梅干しでチャレンジだ!!
UU ̄ ̄ U U \_____________
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<
>>347 批判要望か、削除依頼だ!!
UU ̄ ̄ U U \_____________
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<
>>349 こんなところに書いてないでコードでもかいとれ!!
UU ̄ ̄ U U \_____________
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<
UU ̄ ̄ U U \_____________
362 :
新米ギコ :2000/07/25(火) 11:32
||
| |
∧| |
>>352 ナゼワカッタ!!
Σ (゚Д| |
/つ| |
〜 ||
(/ ||
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<
>>353 ソケット2つで、accept&connectだ!!
UU ̄ ̄ U U \_____________
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<
>>356 暗記ではなく、あんちょこを利用だ!!
UU ̄ ̄ U U \_____________
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<
>>358 他人のコードなどデバグしたくない!!
UU ̄ ̄ U U \_____________
363 :
355 :2000/07/25(火) 11:34
>357 どうもです
364 :
>358 :2000/07/25(火) 11:40
自分で書いたプログラムなら、コンパイラの吐いたコードとソースの対応、 それからリンクのときのリスティングファイルから、例外を起こした命令を つきとめて、デバッグします。 再現性の高いものなら、デバッグモードで同じように操作してソースデバ ッグでしょう。
度々申し訳ありません。 同一のIPアドレスの接続で ソケットを2つ作成して、接続の処理を行っても、ソケットに接続できません。 この処理を2つのプログラムに分けて行うと接続できるのですが、 同一のプログラム内で、ソケットを2つ作成しても、 同一のIPアドレスの接続ができないということはあるのでしょうか?
365=353です。
367 :
名無しさん@1周年 :2000/07/25(火) 12:03
#include <stdio.h> #include <stdlib.h> #include <iostream.h> char *string_uppercase(char *string){ char *starting_address = string; // string[0]のアドレス while (*string) { if ((*string >= 'a') && (*string <= 'z')) *string = *string - 'a' + 'A'; string++; } return starting_address; } int main(void){ char hellostring[] = "Hello World"; cout << string_uppercase(hellostring) << endl; return EXIT_SUCCESS; } <point> 文字列リテラルを直接書き換えてはいけない。
____ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ / /|<
>>365 ツーカ、ナニガヤリタイノデスカ?
| ̄ ̄ ̄| .| \__________
| ゚Д゚ ; |/
 ̄ ̄ ̄
同一のコンピュータにLANカードを2枚さして、その双方で 通信を行いたいのです。今は、LANカードが1枚しかないので、 取りあえず、接続の処理が間違っていないか確認をしていますが、 そこで、接続元のIPアドレスと接続先のIPアドレスが、 同一の場合の接続ができないのです。 ポート番号とかの間違いはないようです。 (分かり難くてすみません)
370 :
>369 :2000/07/25(火) 13:27
同一コンピュータ上のプロセス間、もしくはスレッド間の通信を、 LANカードを介してやるの??? 純粋に、何でそんなことをやる必要があるのか、教えて。 LANカードのIPアドレスを指定するのではなく、localhost(127.0.0.1)を 使うのは、よくやるけどな。
371 :
369>370 :2000/07/25(火) 13:55
ある装置のテストを行うときにLANなどを使用し 負荷をかけるプログラムを作成するのですが、 その装置にLANカードが2枚ささっていて、 そのカード間の通信にも対応するためです。 通信データの内容にそれほど意味はなく、 通信を行う行為自体に意味があるからです。
372 :
名無しさん@1周年 :2000/07/25(火) 14:30
外に漏れなければ、NICに行く前に内側で完結 つまりNICそのものに意味はない HUBにでも繋いでNICのランプを確認すべし
_____ /:\.____\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |: ̄\ (∩゚Д゚)\< NIC毎にIPって振れなかったけ? |: |: ̄ ̄ U ̄:| \__________
374 :
373 :2000/07/25(火) 16:12
振れるよ、っていうか、IPアドレスってのは、NICに付く物 コンピュータに付く物じゃないよ
374は、>373 の間違い
376 :
名無しさん@1周年 :2000/07/25(火) 16:29
ギコ猫様、教えてください。 n個の頂点を持つ多角形があったとして、ある点が、その多角形に 含まれているか、含まれていないか、を簡単に判別できるアルゴリ ズムはありませんか? 多角形の頂点は「時計回り」もしくは「反時計回り」どちらかの並 び方になっている物とします。頂点の角度は180度以上のものが あり得ます。ただし、辺は交差していないものとします。(いや、 交差してても簡単にわかるアルゴリズムがあれば、それはそれでい いんですけど。)
377 :
新米ギコ :2000/07/25(火) 16:38
∩ ∩
| ∪ |
./| |
| ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| i @`@`゚Д゚) <
>>376 数学やれ!!
U U \________
>376 ある点から多角形の外に引いた線分と交わる辺の数が奇数なら中偶数なら外。 基本過ぎて答えるのはずかしいぞ・・・
379 :
376 :2000/07/25(火) 18:12
>>378 ああ、なるほど〜〜。ありがとうございました。おかげで助かります〜〜。
>>377 ギコ、冷たい。
380 :
名無しさん@1周年 :2000/07/25(火) 18:17
ax+by+c=D (a@`b@`cは直線に対応した定数) って判定式を辺の数だけ用意して 「すべての判定式のDが正となるときx@`yは多角形の内側」 っていうふうにしとくと判定が早いぞ。 必要なデータ量は増えるが。
382 :
名無しさん@1周年 :2000/07/25(火) 18:52
「電波」って何ですか?
383 :
名無しさん@1周年 :2000/07/25(火) 18:55
質問があります。 Linux上でpthredでスレッドプログラミングをやっているのですが、 gettimeofdayと同じくらいの精度で時間計測できて、かつ スレッドセーフな関数ってありますでしょうか?
<lonealgo.html う、裏目小僧って、マスターネットのX68KのBBSでいつも喧嘩 してたやつかな(だれもしらねーって)
385 :
正論モナーに長く語らせました。 :2000/07/25(火) 19:33
Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ´∀`)< VBやるやつもC/C++、アセンブラ、Javaやるやつも ( ) │ みんな仲良くやっていこうじゃないか。 | | | .│ そんないがみ合うなよ。同じプログラマー同士じゃないか。 (__)_) .│藤原博文のことをやけに嫌っている奴もいるけど別にいいじゃないか。 .│ 真理はいつの世も一つではないのだよ。 .│また、荒らしや厨房も愛そうではないか。みんな仲良くが一番だよ。 .│それとIQで一喜一憂している奴がいるがそんなもの何の役にも立たない。 .│しかし、結果が良かった奴は素直に喜べ。結果が悪かった奴は気にするな。 .│IQよりよき友人を持っているかなどの人生の豊かさを気にしようではないか! .│そして、最後に。。おまえもなー \______________________
386 :
>371 :2000/07/25(火) 19:34
それぞれのNICのアドレスで bindしてますか?
387 :
371>386 :2000/07/25(火) 19:45
はい、していますが現在はNICが1つしかないので、 同一のIPアドレスで(サーバ、クライアント共に)bindしている のです、それがまずいのでしょうか? (同様のプログラムを2つ実行した時も同一のIPアドレスを 使用していましたが接続できました)
388 :
>387 :2000/07/25(火) 22:39
何故にクライアントをbindする? 同じアドレスとポートではbindは一度しか出来ない bindされたポートに接続するのは、いくつ(常識的な範囲で)でも出来る
389 :
>387 :2000/07/25(火) 23:17
write の前後と、read の前後に printf を入れてみては? ひとつのプログラム内で、どうやって write と read の共存をしてます? fork? select?
390 :
387 :2000/07/26(水) 00:50
>388 クライアントをbindする訳は、最初に立ち上げた時は、 まだクライアントかサーバか決まっておらず、 connectで通信相手が見つからなかったらサーバとするようにしています。 そのため、connectを使用するまでサーバになるかクライアントになるかが、 決まっていないので、connectの前に呼ぶbindはサーバ、クライアントに 限らず呼んでいます。 同一のアドレスでbindする場合はポート番号は違う値を使用し、 connect時は相手先のポート番号を指定しています。 その時出るエラーはWSAECONNREFUSEDが発生します。 (接続先はlistenまで終わっています) >389 selectを使用して監視しています。
391 :
名無しさん@1周年 :2000/07/26(水) 01:08
回線が突然切れました。どうすればいいですか
クラスを作成して使う上でのポリシー(?)について教えてほしいのですが、 クラスから別ファイルのグローバルに宣言された変数や定数を参照するのは いいのでしょうか? クラス内へ取り込む口を設けるべきなのでしょうか?
393 :
>392 :2000/07/26(水) 08:58
定数の参照はいつでも問題無いでしょう 変数の参照は、プロパティサポートのある言語なら問題無いでしょう 変数を後からプロパティに変更するのは容易だからです。
394 :
名無しさん@1周年 :2000/07/26(水) 10:53
>383 gettimeofdayはスレッドセーフだったと思ったのですが?
395 :
名無しさん@1周年 :2000/07/26(水) 11:52
Windowsのプロパティシートを作成したとき 右上にある[?]はどうすれば消えるんですか?
396 :
名無しさん@1周年 :2000/07/26(水) 12:53
394は無知だな
397 :
新米ギコ :2000/07/26(水) 13:30
∧ ∧ /
( ゚Д゚)<
>>369 無知だというのなら理由を400字詰めの
|つ つ \ 原稿用紙300枚に書いて提出すること!!
〜 |
∪ ∪
398 :
383 :2000/07/26(水) 15:59
あ、スレッドセーフの質問した者です。 マニュアルを読んでみたのですが、 timeがPOSIX準拠なのに対してgettimeofdayはPOSIX準拠でないような 感じだったので、これってスレッドセーフなのかなあと思って質問した次第です。 でも、スレッドセーフだって人と、そうじゃないって人からレスをもらってしまった。 一体、どっちが正しいんでしょうか?
399 :
>398 :2000/07/26(水) 16:11
試したらどう?
400 :
>399 :2000/07/26(水) 16:23
試しても仕様がどっちかはわからんのでは。
401 :
名無しさん@1周年 :2000/07/26(水) 16:30
f2cに詳しいサイト、ご存知でしたら教えてください。
402 :
名無しさん@1周年 :2000/07/26(水) 16:37
WINNERS FOREVER
403 :
398 :2000/07/26(水) 20:38
>399 試してみましたが、なんか、ちゃんと動いてそうです。 でも、確信は持てないです。なにしろ、マイクロ秒単位の計測なので。 ある関数がスレッドセーフかどうかって、どうやって見分ければいいの?
404 :
名無しさん@1周年 :2000/07/26(水) 23:49
POSIX準拠でないからといって、スレッドセーフでないというわけではないだろ
405 :
新米ギコ :2000/07/27(木) 01:10
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (@` ゚д゚) < 板とんだら、sageに関係なく時間でソートされるみたいだな ヽ/ | \_____________ (__∪∪)
406 :
名無しさん@1周年 :2000/07/27(木) 02:11
手抜きだな。
407 :
名無しさん@1周年 :2000/07/27(木) 02:14
ライブラリのソース読んで確認するというのはダメ?
408 :
名無しさん@1周年 :2000/07/27(木) 02:15
ライブラリのソース読んで確認するというのはダメ?
409 :
名無しさん@1周年 :2000/07/27(木) 03:27
C言語のfloat型っていったいなんの役に立つんですか? 全部double型にすればいいような気がするんですが。
410 :
名無しさん@1周年 :2000/07/27(木) 04:10
C言語のshort型っていったいなんの役に立つんですか? 全部int型にすればいいような気がするんですが。
411 :
名無しさん@1周年 :2000/07/27(木) 04:13
>409@`410 メモリを節約できる。
412 :
>409@` 410 :2000/07/27(木) 04:13
子供には分からない世界があるんだよ。 気がしているうちは馬鹿。
413 :
>412 :2000/07/27(木) 04:27
メモリの節約以外になにかありますか? floatって精度がかなりシビアだと思うのですが。
414 :
名無しさん@1周年 :2000/07/27(木) 04:42
2ch
415 :
名無しさん@1周年 :2000/07/27(木) 04:44
計算機だということを忘れていませんか
416 :
名無しさん@1周年 :2000/07/27(木) 05:17
>413 一般的にはメモリの節約以外にはないと思う。 (環境によっては「intよりshortが速い」とかあったりするけど)
417 :
名無しさん@1周年 :2000/07/27(木) 10:13
floatよりdoubleの方が速いって藤原が言ってた
418 :
>417 :2000/07/27(木) 10:36
それは昔のCの話。今は仕様が変わって floatはfloatのままだから 計算速度は同じ。floatの方がメモリ消費量が減るからfloatでよい場合 はfloatで計算した方が キャッシュヒット等で有利な筈
419 :
>418 :2000/07/27(木) 11:18
floatの方が速い場合もある。遅い場合もあるけど...
420 :
名無しさん@1周年 :2000/07/27(木) 11:49
_beginthreadなどで作ったスレッドが、 終了したという情報の取得の仕方を教えてください。
421 :
>420 :2000/07/27(木) 11:56
WaitForSingleObjectで完了を待ち、GetExitCodeThreadで終了コードを得る
422 :
名無しさん@1周年 :2000/07/27(木) 12:07
_beginthreadでは無理です。 _beginthreadexを使いましょう
423 :
420 :2000/07/27(木) 12:36
>421@`422 ありがとうございます。 _beginthreadexは_endthreadexを呼んでも、 スレッドハンドルを解放しないとあるのですが、 スレッドが終了したタイミングでCloseHandleを 呼べばいいのですか?
VBで作成したActiveXDllを、VC++で使おうとしています。 クラスウィザードでタイプライブラリからクラスを作成する と、いくつかのメソッドが「メソッド 'XXXXXX' は戻り値の 型またはパラメータ型が無効なため表示できません。」と言 うコメントになって、使用できません。 特に他のメソッドで使用していない戻り値や引数は使用して いません。 このへん(COMの仕様?)の事をご存知の方か情報のリソース をご存知の方がいたら教えてください。 よろしくお願いします。
425 :
>423 :2000/07/27(木) 12:57
終了コードを取得してからCloseHandleだ
426 :
名無しさん@1周年 :2000/07/27(木) 13:07
BCCには、_beginthreadexが無いので注意だ。
427 :
新米ギコ@新米なのに(;;) :2000/07/27(木) 18:04
悪魔君のってどれ?
429 :
"七資産"@板出張モード :2000/07/27(木) 19:12
430 :
>429 :2000/07/27(木) 19:42
ちらっとさわりだけあっちに書いてきました。 ま、つっこみどころは有りますが、だいたいあんなもんでしょう。 それにしても、あっちで暴れてるやつは、本当に知らないようですね・・・
431 :
430 :2000/07/27(木) 19:54
あっち、あたらめて最初から読み返したら、なんか、誰にでもわかる ドキュンぢゃん、マジレスしてそんした気分。(鬱だし)
432 :
名無しさん@1周年 :2000/07/28(金) 00:43
スゲー奴だ。ぜひ固定ハンになって活躍して欲しい(笑)
433 :
名無しさん@1周年 :2000/07/28(金) 01:37
VCを使っているんですが、いまいちデバッグの使い方がわからないし デバッグの使い道などもわかりません。 変数の中身が見れるようですがどうやればいいのですか? それと他にどういった機能があるのでしょうか? それとpart1のほう「デバッグ」で検索しましたがとくにみつからなかったので 書き込みました。 それだけ初歩的なことなんでしょうけど わからないので教えてください。
>427/428 あの・・・あまり触れないで下さい・・・。
435 :
名無しさん@1周年 :2000/07/28(金) 02:09
>426 BCCって何? _beginthreadexが無いの? ふ〜ん
436 :
>435 :2000/07/28(金) 08:54
_beginthredexで表示が乱れるようね。
>>426 BCCに無いというのは? 今見たけどヘルプにはあるけどね?
SetWindowTextを用いてウィンドウ上のスタティックテキストを書き換えて いますが、どうもWin2Kではうまくいかないのです。 ウィンドウのWM_INITDIALOGでSetWindowTextを使うときちんと表示される のですが、ウィンドウ上のボタンが押されたときに使うと、表示されません。 なお、Win98ではきちんと表示されます。 もし情報をお持ちの方がいられましたら教えてください。 [ソース] switch(message) { case WM_INITDIALOG: /* きちんと表示される */ SetWindowText(GetDlgItem(hWnd@` ID_STT1)@`"test"); break; case WM_COMMAND: if(LOWORD(wParam)==ID_CHGBREX) { /* きちんと更新されない */ SetWindowText(GetDlgItem(hWnd@` ID_STT1)@`"testtest"); } break; default: return FALSE; } return TRUE;
登録されているプリンタの一覧を取得したいのですが、どのような 方法があるのでしょうか? CPrintDialogを表示すればコンボボックスに一覧が表示され、選択 されたプリンタ(通常使用するプリンタ)は、GetDeviceNameで取得 可能なのですが、登録されているプリンタの一覧を取得したいと考 えています。 何かよい方法はないでしょうか? 環境:WindowsNT4.0 SP5.0 VisualC++6.0
439 :
名無しさん@そうだ選挙にいこう :2000/07/28(金) 11:56
EnumPrinters関数はどうですか?
440 :
>437 :2000/07/28(金) 15:15
わしも最近作ったツールで同じ症状でました。 しかし、結構どうでもいい部分だったのでスタティックテキストから エディットボックスに変えました。 ああ、いいかげん。
441 :
名無しさん@そうだ選挙にいこう :2000/07/29(土) 13:40
mallocの使い方を教えてください。 このへんを解説してある本を探しているのですが ほとんど見つからずみなさんはどうやって覚えるのですか?
442 :
441 :2000/07/29(土) 13:46
基本は… char *p = malloc( 欲しいサイズ ); ...pを使いまくり... free( p ); だ。 int が欲しいのなら int *p = (int*)malloc( sizeof(int) ); *p = 0; x = *p; free( p ); 構造体(Foo)なら Foo *p = (Foo*)malloc( sizeof(Foo) ); p->member1; free( p ); だ。 アクセスがポインター経由になる点がポイント!
443 :
ちゅうぼー :2000/07/29(土) 13:48
mallocが確保するメモリって必ず連続しているの? Foo *p = (Foo*)malloc( sizeof(Foo) ); してないとこれ無理だよね?
構造体(struct Foo)なら struct Foo *p = (struct Foo *)malloc( sizeof(struct Foo) ); p->member1; free( p ); だな。
445 :
>443 :2000/07/29(土) 14:18
mallocは1回の呼び出しで取ったメモリは連続してます。 っていうか、連続したメモリ領域を取るのがmallocの定義ですね。
446 :
>443 :2000/07/29(土) 14:21
K&R読んで見なさい。 malloc@`freeの実装例が載ってますよ。
447 :
>443 :2000/07/29(土) 14:22
必ず連続してる。 小さい領域をいっぱい malloc して、1つおきに free して行くと 最終的に全体の 50% が未使用な状態のはずなのに 中くらいの領域の malloc に失敗するようになる。 この現象を「メモリーの断片化」と言うんだよ。 malloc〜free や new〜delete を多用したプログラムが 長期間の連続稼動で不安定になるのはこれが原因のひとつだね。 この断片を一個所に集めて、大きな連続領域として再利用可能に するための機構が「ガーベッジコレクション(GC)」だ。 GC というと Lisp が発祥だが、最近では VB や Java も行っているよ。
448 :
443 :2000/07/29(土) 14:22
なるほど〜
449 :
>447 :2000/07/29(土) 15:18
うーむ。 細かい人が見たらきっとツッコミ入れたくてウズウズするだろうなあ 俺は別に初心者に話するならかまわんと思うがな。
450 :
名無しさん@1周年 :2000/07/29(土) 15:24
ちょっとお伺いしたいんですが、 COBOLのフリーのコンパイラってあるんでしょうか? 今までVBやCがメインだったんですが、急に勉強しなくてはならなくなりました。 もしあるのでしたら教えていただきたいです・・・。よろしくお願いします。
451 :
>450 :2000/07/29(土) 15:34
452 :
名無しさん@1周年 :2000/07/29(土) 16:43
DOSの圧縮ツールって何なのでしょう? どうやって使うものなのですか?
453 :
>449 :2000/07/29(土) 17:11
論理アドレスでは連続しているが、物理アドレスでは連続しているとは限らない。 ハードとOSのページング機構による。ってとこがつっこみどころ?
454 :
>452 :2000/07/29(土) 17:31
?
455 :
>453 :2000/07/29(土) 17:42
がGCだって 所かも
456 :
>455 :2000/07/29(土) 17:53
断片化が起こるかどうかは malloc の実装による。ってコトだよ。 人のアラ探すなって(笑
457 :
ほんと細かいねえ :2000/07/29(土) 18:04
HDに喩えたら断片化による弊害を解決するのは デグラグ ね ガベージコレクションはゴミ箱の掃除に相当する ってな事をツッコミたかったんだろうなあ
デグラグですね? メモっとこっと☆
459 :
まあ :2000/07/29(土) 18:33
ガベージコレクションは有名だけど、断片化解消技術はそれに似てて、でも 名前がすぐ浮かぶ程有名じゃないって事かな。 ガベージコレクションは どこからも参照されなくなったオブジェクト を探して消す技術。 Cの用語で言えばmallocされたメモリをどれかのポインタが示して いないか探して、どれも示していなければfreeするって事 断片化解消では 断片化部を挟むメモリ領域があったら その領域を示しているポインタをすべて探し出して、領域の移動 の更新をさせなければならない。 という点で似てはいるけど、少し違う
460 :
<447 :2000/07/29(土) 22:10
mallocはメモリブロックへのポインタを返すから、CGをやろうと しても、メモリブロックの再配置が出来ないっていうのも、突っ込み どころかな? 459みたいに、ポインタ全部を見て、必要ならポインタを変更する ようなやり方って、論理的に可能なのかな?そのへん議論きぼん (コンパイラがポインタの一覧を作ってくれる事が前提だろうけど)
461 :
>460 :2000/07/29(土) 22:14
間接ポインタにすれば可能では? アクセス速度は落ちる(半分程度?)だろーけど。 バイト毎でなくブロック毎ならそれほどでも・・・
462 :
460>461 :2000/07/29(土) 22:26
たしかにそうなんだけど、そうするとプログラムが自力でメモリ管理 する話になっちゃうね。447はそのへんをすっ飛ばしてmallocで メモリ取る話から、急にCGの話になっちゃってるからね。
463 :
459 :2000/07/29(土) 23:15
もし、コンパイラの助けなしにやろうとすれば、 ヒープ、スタック、レジスタのすべてをポインタと仮定して、その領域内を差していないか 調べて、一つもそこを差していないなら 削除しても問題無いという方法=マーク・アンド・スイープ で、GCは行う事が出来る(もちろん実際にはポインタで無いのがたまたまそのアドレス値として 読まれる可能性もあるので、回収されないものも出て来るが) でも、断片化解消をこの方法でやるのは現実的ではないでしょうね。 やるとしたらポインタが1つしか見つからない場合に限って移動するくらいかな。 コンパイラの助けが無いなら、アプリ側で実装するのが現実的かも。
>ヒープ、スタック、レジスタのすべてをポインタと仮定して それやってるライブラリ、とっくにありますよ。
465 :
名無しさん@1周年 :2000/07/30(日) 04:54
450 > 451さん URLありがとうございます。 自分でも思い当たるところを捜してみたんですがどうしても見つからなくて・・・ これで実際に触れながら勉強できそうです。 ほんとにありがとうございました。
466 :
名無しさん@1周年 :2000/07/30(日) 04:56
467 :
>465 :2000/07/30(日) 08:43
でも、ちょっとシミジミしてしまうページだよなあ
468 :
C++プログラマ :2000/07/30(日) 17:11
今日は久々にC言語でプログラムをしてました。 "検索"という操作をする関数に"find"という名前を付けました。 問題は、Node *nodeで探す場合とint node_noで探す場合の二種類があのです。 C++だったらなにも考えずに多重定義できるんですが、C言語だとできません。 こういう名前の衝突が起こる場合、どういう名前の付け方をしたらいいでしょうか? finda_1@` find_2ってのもかっこ悪い気がするんですが。
FindNode() FindIndex() くらいでいいんじゃないの?
470 :
名無しさん@1周年 :2000/07/30(日) 18:00
たとえポリモーフィズムが使える環境でも、 個人的にはノードとインデックスが同じ関数で返ってくるのは気持ち悪いな。
471 :
>468 :2000/07/30(日) 18:19
find_node find_node_by_index ぐらいが無難かな
472 :
名無しさん@そうだ選挙にいこう :2000/07/30(日) 20:00
find(nodePtrToIndex(node* pnode)) ; に1票
473 :
名無しさん@1周年 :2000/07/30(日) 20:02
場合によっては get_node_at とかでもいい
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<
>>468 find_int@`find_Nodeくらいで手を打っとけ!!
UU ̄ ̄ U U \_____________
475 :
名無しさん@1周年 :2000/07/31(月) 17:11
〜.ocxファイルとは何ですか? (すみません、初歩的な質問だと思いますが)
476 :
>475 :2000/07/31(月) 17:17
ActiveX
477 :
>475 :2000/07/31(月) 17:18
ActiveX Control
478 :
うんこ初心者 :2000/07/31(月) 21:54
mainから抜ける方法としてreturnとexitがあるけど この2つの違いを教えてください
479 :
うんこ初心者 :2000/07/31(月) 21:54
言語はCです
C言語だからです。
481 :
名無しさん@1周年 :2000/07/31(月) 22:57
exitはmain以外で使ってもプログラムを終了させる事が出来ます。
482 :
うんこ初心者2号 :2000/07/31(月) 23:05
mainでthrowしてcatchしないとオブジェクトは場外ホームランですか? 言語はC++です
∩ ∩_ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜⊂ ̄ ̄ (。Д。)⊃ <
>>478 うんこなんだからどうでもいいじゃん
 ̄ ̄ ̄ ̄∨∨ ̄ ̄|\_____________
484 :
名無しさん@1周年 :2000/07/31(月) 23:14
return は階段を1段降りる。 exit は階段を1段上がって、一番下まで飛び降りる。 …みたいなカンジです。 mainから実行した場合、結果的に一番下まで降りるという点では同じです。
485 :
名無しさん@1周年 :2000/07/31(月) 23:29
補足しないthrowは、C++のランタイムが捕まえてくれます。 たぶん、場外で・・・
486 :
名無しさん@1周年 :2000/08/01(火) 13:11
C++でdllを作成してVBで使う方法を詳しく書いてある 所、誰か教えて下さいませ
487 :
名無しさん@1周年 :2000/08/01(火) 18:10
age
488 :
>486 :2000/08/01(火) 18:14
最近のVBの事は知らんのだが、VBのマニュアルに書いてないか?
489 :
>468 :2000/08/01(火) 18:31
VBをinstallしたディレクトリのどっかに、Win32API用のヘッダファイルが有ったよ。 それを参考に自分が定義した関数のヘッダを書いて、 モジュールに追加しておけば 呼べるような気がした。 VBユーザーではないので、詳細は知らない。
490 :
名無しさん@1周年 :2000/08/01(火) 22:29
http://www.linux24.com/linux/news/today/article/article513440-000.html InterBase6 オープンソースでダウンロードできるようになったけど、
これ使ってWebServer構築した場合、運用ライセンスはいらないの?
ライセンスには
> Subject to third party intellectual property claims@`
> each Contributor hereby grants You a world-wide@`
> royalty-free@` non-exclusive license
とあるからいらなそうなんんだけど、
全体的にInterBase自体を改造して配布/利用するのが無料、という感じなので、
それに対するクライアントライセンスが不明瞭
491 :
名無しさん@1周年 :2000/08/01(火) 23:36
定義していない構造体へのポインタはメンバを参照しなければ つかってもいいですか?
>491 なんでそんなことすんの?
493 :
491 :2000/08/02(水) 00:32
>492 DLLをつくってるんですが、構造体の構成を変更する可能性があるから 定義を公開したくないのです。あとパッキングの問題でトラブルを起こしたくないので、構造体の定義 は公開したくないです。 void *にすればいいのですが、void *からののキャストは嫌いです。 定義しなくても宣言だけすればポインタは使えるみたいなんですが、 本当にやっていいことなんでしょうか?
嫌いですって、あんた・・・
495 :
名無しさん@1周年 :2000/08/02(水) 01:19
ほげ
Cみたいに、struct hoge *p; って構造体の中身を隠した ポインターって宣言できないの?<C++
何が問題なのかよくわかんないけど、 クラスのポインタなんかいっくらでも宣言してちょ。
498 :
選挙にいこう :2000/08/02(水) 01:45
プログラムをなにかマスターしたいのですが、何から始めれば いいですか? BASICにしろC言語にしろ専用のソフトは いくらぐらいするのでしょうか? そのソフトはどこかでダウンロード してくることはできますか?
499 :
名無しさん@そうだ選挙にいこう :2000/08/02(水) 01:50
なにかプログラムをマスターしたいのですが、何から始めるのが いいですか?
500 :
新米ギコ :2000/08/02(水) 10:59
501 :
>493 :2000/08/02(水) 11:24
公開する方のヘッダファイルには、 typedef void * HOGE; みたいに書いておいて、 DLLで使用するヘッダファイルには、 typedef struct{ /* HOGE の本当の中身 */ int a; int b; }Thoge; typedef Thoge * HOGE; と書いておく。 C++の場合、DLLからエクスポートする関数には extern "C" を付ける。 とすれば、出来ないことはない。が、コンパイラを騙しているようで 気持ちが悪い。どんなコンパイラでも動くのかは、知らない。
502 :
>501 :2000/08/02(水) 12:37
VB BC(TC) はすべてそのやり方でOK。 というかそうするのが普通みたい
503 :
>501 :2000/08/02(水) 14:58
DLLでエクスポートする関数は extern "C"は常識だろ。 そんなもの、struct S;と宣言だけすればいいだけだ。
504 :
しー :2000/08/02(水) 15:47
| |_∧ ソォー |ー゚) ⊂| | `〜 |∪  ̄ ̄ ̄ ̄ ̄ ̄ ̄
505 :
名無しさん@1周年 :2000/08/03(木) 01:04
gccなんですが、 hoge(){ unsigned char *p; p = (int)0x00000000; *p = 0x80; } と書いた場合 00000000 80 ?? ?? ?? となるはずですよね。それが 00000000 80 80 ?? ?? となります。(ゴーストの様に出力されている) この理由は 1.データバス幅が16ビットだから 2.charが8ビットではなく16ビットだから 3.その他(コンパイルオプション等の設定ミス) の、どれが考えられるでしょうか。 あるいはコンパイラのバグでしょうか?
506 :
>505 :2000/08/03(木) 01:24
ポインタの使い方、まともに分かってます?
507 :
>505 :2000/08/03(木) 01:33
0番地のアクセスを許す環境なのですか?(^^; unsigned long *p = (unsigned long *)0; *p = 0x11223344; として、0〜4番地を調べてみるとイイかも。 何が見えているのか、わからないけど…
508 :
505 :2000/08/03(木) 05:02
>506 すんまそん、高級アセンブラ状態で使ってるもので・・・。 >507 0番地は仮に、です。とにかくRAMの番地だとして。 p = (int)0x00000000; としてるのは、intが32ビットで、動作するマシンのPCが32ビット だからです。 p = (unsigned int)0x00000000; と書くべきでしたが。 というか、アラインの問題で、char型でのアクセスでも 16ビットでしかアクセスできない場合があるのか? という趣旨の質問です。 ハードの制約ということも十分考えられますが・・・。 ちなみに、アクセスしようとしてるメモリは VRAM です。
509 :
名無しさん@1周年 :2000/08/03(木) 07:03
構造体のアライメントって、どういった場合に 起るのでしょうか。CPUの違いによって起るというのは 解るんですが・・・
510 :
名無しさん@1周年 :2000/08/03(木) 07:18
511 :
名無しさん@1周年 :2000/08/03(木) 07:20
>>508 0番地は例が悪い。
で、0以外でちゃんとアクセスできるアドレスと仮定して、
NULLで初期化してから覗いても同じ?
あとは、ソースと環境貰わないとなんとも。
512 :
>508 :2000/08/03(木) 08:20
VRAMかあ。下位1bitのアドレスがデコードされてないんじゃないかな。
513 :
509 :2000/08/03(木) 08:23
>>510 有り難うございます。既出だったんですね。 どうもすみません。
>>509 いえいえ、あなたの様にネタスレでもないのにいきなりスレッドを立てない姿勢は素晴らしい。
いつもこうだったら平和なのにね。
515 :
508 :2000/08/03(木) 12:09
アラインというよりパディングの問題ですか・・・。 バス幅が32とか16の制御系ってやってことないんですよね。実は。 コンパイラが8ビットのアクセスをマスクしたりして管理していない限り アセンブラで扱える最小単位に依存するんでしょうかねぇ。 まあ、バスが16なのにcharでデータ扱う事もなかろうという判断で、 intで処理しました。
516 :
新米ギコ@蚊帳の外 :2000/08/03(木) 12:49
517 :
名無しさん@1周年 :2000/08/03(木) 15:58
python ← なんてよむんでか?
518 :
名無しさん@1周年 :2000/08/03(木) 16:07
パイソン。。。違う?
519 :
名無しさん@1周年 :2000/08/03(木) 16:13
クラスメソッドはインスタンスを作らないそうですが、 複数のインスタンスからほぼ同時にクラスメソッドが 呼び出された場合、クラスメソッド内で変数の値が混同 されたりしないのでしょうか? JAVA初心者より
520 :
>519 :2000/08/03(木) 16:21
>複数のインスタンスからほぼ同時にクラスメソッドが呼び出された場合 マルチスレッドの話?
521 :
519 :2000/08/03(木) 16:37
そうですよね、そんなことありえませんよね。 マルチスレッドでも別スレッドですものね。
522 :
名無しさん@1周年 :2000/08/03(木) 16:38
>517 ニシキヘビ。(嘘
523 :
519 :2000/08/03(木) 17:00
そんなことないか、マルチスレッドなら共有するわけですか。
>519 マルチスレッドなどで、そういうことを防止する為のキーワード、 synchronizedの使い方を覚えましょー。
525 :
名無しさん :2000/08/03(木) 17:22
質問です STLのVectorで確保される配列の大きさってどーいう仕様になってるんでしょうか? ソース読めばいいんでしょうけど、STLのソースって自身テンプレート 使いまくり&変数名短け〜 で読みにくいですよねぇ?初心者には辛いっす
gotoのラベルを書いた位置の格納アドレスを収得する方法ってありますか? コンパイル後のMAPファイルを参照するとかではなくて。
527 :
名無しさん@1周年 :2000/08/03(木) 18:31
sageで書いたのでage
528 :
>526 :2000/08/03(木) 20:38
int LABELADRS; LABEL: _asm { mov LABELADRS@`eip }
529 :
名無しさん@1周年 :2000/08/03(木) 21:58
>525 一般的には、2倍2倍になっていきます。
530 :
名無しさん@1周年 :2000/08/03(木) 23:46
新規質問です。 Win上で書いたソースをUNIXにバイナリでFTPとかしちゃうと 改行コードCRが^Mで出ちゃいますよね。 これを消すにはどうすればいいですか? viで検索にも引っかからなくて。 ちなみにHP-UXを使っているのでdos2unixは使えません。
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|
>>530 asciiで転送だ!!
\_ ______
∨
____
/ /|
| ̄ ̄ ̄ ̄| |
|____|/\
/ ⊂ | \/
| 〜
∪∪
emacsでC-x RET fもしくはqkcつかえば楽だ。 ただ、perlあたりでさくっと組んでしまうと後々楽かも。
533 :
526 :2000/08/04(金) 00:05
>528 なるほど、ありがとうございます。
534 :
530 :2000/08/04(金) 00:24
>531 最悪はそれでも解決しますがもっとスマートなやり方はないです? できればUNIX上で何とかしたいです。 ^Mに引っかかる正規表現とかってないですかね?
vi なら :%s/ としておいて、[ctrl]-v を押して[Enter] で ^M を出して /[Enter] とやるんだったか?
536 :
530 :2000/08/04(金) 00:32
535さま おーすばらしいです。ありがとうございました。
537 :
名無しさん@1周年 :2000/08/04(金) 00:55
あれば % fromdos hoge なければ 違うファイル名になるが % tr -d 'tr' < hoge.old > hoge.new とか
役に立って良かった。 ま、いちいち vi を立ち上げるのもうざいし 適当なツールを使うなり作るなりしたほうがいいやね。
539 :
名無しさん@1周年 :2000/08/04(金) 10:52
servletのセッションはマルチスレッドですよね? 複数のセッションから同じメソッドを呼び出した場合、 そのメソッドの中の変数が共有されて処理が滅茶苦茶 になっちゃうことはないのでしょうか? JAVA初心者より
540 :
名無しさん@1周年 :2000/08/04(金) 10:55
539こぴぺ? 共有したいのはstatic synchronisedしてやればいいし、 それいがいのは共有されません。変数のロケールわかる?
541 :
名無しさん@1周年 :2000/08/04(金) 11:00
static synchronisedしなければ、 スレッド毎の領域を使うことが保証されているのですね? 変数のスコープですか?
542 :
名無しさん@1周年 :2000/08/04(金) 11:11
synchronisedすると同期が取れて、 なにもしないとローカル変数まで共有されちゃうんじゃないの? Servletの場合はどうなのかなぁ?
543 :
525 :2000/08/04(金) 11:26
stouコマンドを使え。 stou -er 入力ファイル > 出力ファイル だったかな? 昔のこと何で、正確なことはよくわからん。
544 :
名無しさん@1周年 :2000/08/04(金) 11:27
頭の中身がぐちゃぐちゃです。 JAVA初心者より
545 :
名無しさん@1周年 :2000/08/04(金) 11:31
インスタンスメソッドのインスタンスを作って呼び出す分には 混ざらないのは理解できるのですが、 クラスメソッドを複数のスレッド(セッション)から同時に 呼び出す場合はどうなるのでしょう? JAVA初心者より
546 :
名無しさん@1周年 :2000/08/04(金) 12:11
>545 排他制御が必要。 サーブレットていうより マルチスレッド&同期、排他の勉強すべし。
547 :
名無しさん@1周年 :2000/08/04(金) 12:30
>546 ありがとうございます。 クラスメソッド内のローカル変数も全部共有されてしまうわけですよね? ということは軽はずみにセッションからクラスメソッドを呼び出すような 設計にしてはいけないということですよね? JAVA初心者より
548 :
名無しさん@1周年 :2000/08/04(金) 13:10
乱暴かもしれんが、 >軽はずみにセッションからクラスメソッドを呼び出すような 軽はずみにクラスメソッドを作らない。 の方が良いぞ。 #インスタンスメソッドでも排他制御がいることに変わりはないがな。
549 :
プー :2000/08/04(金) 14:00
FFTがG4に最適化されたライブラリがある場所知ってる人いますか? ふつう製造元のHPにおいてるはずなんですけどモトローラの人も分からないと言ってました ある場所が分かると自分で作らなくて済むので教えてくれるとありがたいです
550 :
名無しさん@1周年 :2000/08/04(金) 14:09
>#インスタンスメソッドでも排他制御がいることに変わりはないがな。 別のインスタンスなら問題ないですよね?
551 :
>550 :2000/08/04(金) 14:17
問題が無いように作り易い・・・ね
552 :
>540 :2000/08/04(金) 14:29
さあ? RISCだから 人手で最適化するのは最初から諦めた方がいいのでは? コンパイラに任せた方が速いのが書けるってのがRISCの売り文句だよね
553 :
>552 :2000/08/04(金) 14:33
コンパイラに任せたいんですけど・・・ x86でいうMMX命令みたいな物を使いたいんですけどG4にはそれを入れて最適化してくれないんですよ コンパイラ屋さんもそんなライブラリはないって言ってたし、
554 :
>552 :2000/08/04(金) 14:35
あ、G4な話じゃないのか
555 :
>553 :2000/08/04(金) 14:40
Velocity Engineをコンパイラがサポートしてないの? インラインアセンブラを適当に入れるしかないのね?
556 :
これはどう>553 :2000/08/04(金) 14:44
557 :
>556 :2000/08/04(金) 14:48
ありがとうございます すごく助かりました、使えそうです
558 :
名無しさん@1周年 :2000/08/04(金) 14:49
>547@`548@`550 スタティック関数でもそうでなくても スレッドが別ならローカル変数領域も別になる。 変数領域が別でも同じオブジェクトを指していたら 排他が必要になるのは同じ。 インスタンス関数だからって油断しないで ちゃんと考えないとだめってこと。
559 :
名無しさん@1周年 :2000/08/04(金) 18:05
>558 あなたのような方を待っておりました。 でも、まだなんとなく不安。 JAVA初心者より
560 :
名無しさん@1周年 :2000/08/04(金) 18:21
NTTのボイステージで開発を行っているのですが 糞すぎます。 ボイステージの掲示板を知っている人教えて下さい。
561 :
名無しさん@1周年 :2000/08/04(金) 18:51
age
562 :
HIROYA :2000/08/04(金) 19:59
誰かボイステージについて教えてくれよ。
563 :
名無しさん@1周年 :2000/08/04(金) 20:18
まずは、 「ボイステージって何だ!?」
うーむ (^^; とうとう火葬場の「炉」までオンライン接続かぁ … ナンマンダブ・ナンマンダブ・・・
566 :
Z80作るのもイイ? :2000/08/05(土) 23:43
低レベル層について詳しくなりたいです どのような勉強をしたら良いですか?
1時ごろにコンビニにたむろしているドキュンどもに教えを請うがよい。
>566 大丈夫。ここに書き込んでる時点で十分低レベル。 俺もあんたも低レベル。
569 :
新米ギコ :2000/08/06(日) 00:54
∧∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(@`@`゚Д゚) <
>>566 昔のCPUのエミュを作ってよし!
Π ̄ ̄ ̄| \
|つ低水準()  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___|
∪∪
570 :
新米ギコ :2000/08/06(日) 09:50
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ´∀`)< オマエモナー ( ) \___________________________ | | | (__)_)
570は568へのアドヴァイスです
572 :
名無しさん@1周年 :2000/08/06(日) 11:15
CPUエミュレータを作るのはイイかもしれないね。 ハードの勉強しながら、ソフトの勉強も出来る。 エミュレータって言ったって、実用的な速度の出る 本格派じゃなくて、CPUの中身が見えるオモチャ的 なものが面白いかも。
573 :
名無しさん@1周年 :2000/08/06(日) 15:13
VC++6.0使用中、謎のアクセス違反に悩まされております。 発生アドレスは決まって0xC0000005です。 DirectDrawあたりが怪しいような……
メモリ破壊じゃないの?
VHDL かなんかで書いてみれば? 学生の夏休みの自由研究としてはいい課題かも。
576 :
573 :2000/08/06(日) 18:44
実行自体はできるんですが、 デバッグウィンドウに Access Violation の表示が ズラーッと出るのです。 問題のプログラムはポリゴンの ソフトウェアレンダリングエンジンです。 マシンが PC-9821 V200 なのもまずいのかも。 DirectX は 6.1 です。
577 :
新米ギコ :2000/08/06(日) 23:45
578 :
名無しさん@1周年 :2000/08/07(月) 00:23
今ソケットの勉強をしています。 CPU固有のバイトオーダからネットワークバイトオーダに 変換するhtons()という関数があるのですが、これって 何の略ですか? つづりから想像できなくて何か気持ち悪いので。
579 :
minima :2000/08/07(月) 00:26
VC++5.0です。 LRESULT CALLBACK dialogProc( HWND@` UINT@` WPARAM@` LPARAM ); と宣言しておいた関数を DialogBox() の第4引数に放り込みました。 DialogBox( (HINSTANCE)GetWindowLong(hwnd@` GWL_HINSTANCE)@` MAKEINTRESOURCE( IDD_Dialog )@` NULL@` dialogProc ); すると error C2664: 'DialogBoxParamA' : 4 番目の引数を 'long (void *@`unsigned int@`unsigned int@`long)' から 'int (__stdcall *)(void)' に変換できません。 というエラーが出てしまいました。マニュアルや専門書を見ても,何がマズいのか分かりません。 もう1ヶ月以上悩んでいます。助けてください。もう私はダメなんですか?
580 :
名無しさん@1周年 :2000/08/07(月) 00:55
> 578 アンチョコをみてみると Host to network short です。
581 :
名無しさん@1周年 :2000/08/07(月) 01:02
>576 マシンを疑う前に自分のソースを疑え
>579 VC++ど素人なので見当違いかも知れんけど、VC++6.0のMSDNみたら DialogProcの戻り値はBOOL(で多分int)っす。 LRESULTだとlongなんだろね。それが原因で型変換できないんじゃ ないのかな?
>もう私はダメなんですか? そんな簡単なコトに一ヶ月も詰まるようじゃダメでしょうね。 BCBにでも乗り換えたら?
584 :
minima :2000/08/07(月) 02:08
レスどうもです。 >582さん 最初はBOOLと書いていましたが,やっぱり同じエラーが出ていました(>_<) >583さん BCBっていいですねー。最近はフリーのもあるし。 でもVC++で1作品も作らないまま逝ってしまうのは悔しいです。 とりあえず,ファイルの拡張子を.cpp ではなく .c にしたら解決するんですよー。 C は引数の判定がアマいから,でしょうか。 でも納得いかないというか,気持ち悪いというか・・・,
>でもVC++で1作品も作らないまま逝ってしまうのは悔しいです。 と思うところがダメなのでは? BCBで感覚をつかんで、VC++に戻ってから作ればよし。 そういう柔軟な発想がほしいね。
>579 (DLGPROC)dialogProcだ。
はっ・・・ BCBはフリーじゃないってば・・・
>586 (゚Д゚)!? 一瞬で解決しました。ありがとうございます。このご恩は一生忘れません。
>585 なるほどです。 なんちゅーか,奥が深いっすね(>_<)
>580さま ありがとうございます。
591 :
名無しさん@1周年 :2000/08/07(月) 10:23
VCで実行した結果がコンソール画面から流れてしまって読めないので DOSプロンプトというのをつかって結果を全て普通のテキストファイルに 出力させる、とお聞きしたんですがどうやったらいいのかわかりません。 DOSプロンプトの画面は出せますのでディレクトリの指定のし方など 教えて頂けないでしょうか?
>591 おそらく簡単な事なのに答えが無いのは、文章がわかりづらいからだろうなぁ。 つーことで、リダイレクト。 test.exe > output.txt
593 :
名無しさん@1周年 :2000/08/07(月) 12:50
リダイレクト
594 :
名無しさん@1周年 :2000/08/07(月) 12:52
新規質問です。 静的ライブラリ(*.a)と動的ライブラリ(*.?)と 共有ライブラリ(*.sl)の違いを 教えてください。
595 :
名無しさん@1周年 :2000/08/07(月) 13:16
char sname[81]; FILE *sfile; fgets(sname@` 80@` stdin); //scanf("%s"@` sname); sfile = fopen(sname@` "r"); 上のようにやったところ、snameの最後にに\0では無く\nが入って うまくいかないです。scanfでならうまくいきました。 思い道理にするには 自分でsnameの\nを\0に書き換えるしか無いのでしょうか。
596 :
>595 :2000/08/07(月) 13:28
その通り。そして \n以外にも\0に書換えなきゃならないのはあるよ。 自分で調べてね。 fgets した後 sscanfすれば楽かも。ただし空白が入るなら駄目かな。
597 :
596 :2000/08/07(月) 13:43
ごめん <取上>\n以外にも\0に書換えなきゃならないのはあるよ</><複写>\n以外にも特殊な文字は注意しなけりゃいけないよ</> 実は\nの他に ctrl-Zが入るかもと思ってたんだ。
598 :
名無しさん@1周年 :2000/08/07(月) 17:42
//iはfgetsの所の文字数の上限 for (j = 0; j <= i; j++) if(sname[j] == '\n') { sname[j] = '\0'; break; } こんな感じでうまくいきました。 出来る人はもっとかっこよくやるのかな?
レスどうも>596
600 :
名無しさん@1周年 :2000/08/07(月) 18:07
VBで自分で作ったDLLに参照設定をつないで オブジェクトを呼び出しているのですが、 DLLをリコンパイルするたびに参照設定が途切れてしまいます。 DLLをリコンパイルしても参照設定が切れないしまいますように するにはどうしたらよいのですか?
601 :
>598 :2000/08/07(月) 18:29
{char *p; for(p=sname;*p;p++) if(*p == '\n') *p = '\0'; } こう書くのがCらしいかなあ 。でも最近はそっちの書き方の方がいいと思うようになった
602 :
>594 :2000/08/07(月) 20:32
静的ライブラリは実行形式にリンクされてしまうヤツ 動的ライブラリは、そのリンクが実行時(起動時)に行われるヤツ(実行モジュール毎) 共有ライブラリは、そのライブラリを必要とするすべての実行モジュールで共有されるヤツ Windowsの.DLLは最期のヤツで、マニュアルを読むと、ライブラりやリンクの章ではなく プロセス間通信のところに記述がある。
603 :
602の補足 :2000/08/07(月) 20:36
共有すべきデータ領域を持たず、すべての関数が再入可能(リエントラント)に書かれていれば、 動的と共有の差は、ほとんど無いかも。
604 :
603の補足 :2000/08/07(月) 21:14
メモリー消費量が全然違うや (^^; 動的はリンケージを実行時まで遅らせることにより、実行形式のサイズ(ディスク上で)を軽減させるのに対し、 共有は、共有させることにより、実行時のメモリーサイズ軽減に役立つ…かな。
605 :
名無しさん@そうだ選挙にいこう :2000/08/07(月) 23:20
「共有ライブラリ」って、602の書き方だと、単にライブラリの 説明の気がするが・・・
606 :
594 :2000/08/08(火) 00:33
>602〜604@`605さん レスありがとうございました。 動的と共有の違いは動的のほうが各モジュールごとにリンクされるので メモリを余計に食う、ということですね。 ディスク上での実行形式のサイズに関しては動的と共有で違いがあるのでしょうか? あと、動的と共有は実行モジュールコンパイル後にライブラリを更新した場合、 実行モジュールの再コンパイルは必要ない、という認識でよろしいでしょうか? あとそれから、動的ライブラリって、UNIXでどうやって作るんでしたっけ? (たしか静的はarで共有はld -bだったような) それともくくり的に動的ライブラリというのは共有ライブラリの一部のことを 特定して言ってるんでしょうか…?
607 :
名無しさん@1周年 :2000/08/08(火) 00:37
>動的ライブラリというのは共有ライブラリの一部 あ、すみません。逆のつもりです。 →共有ライブラリというのは動的ライブラリの一部
608 :
594 :2000/08/08(火) 00:37
>動的ライブラリというのは共有ライブラリの一部 あ、すみません。逆のつもりです。 →共有ライブラリというのは動的ライブラリの一部
609 :
名無しさん@1周年 :2000/08/08(火) 00:45
ユニコードからシフトJISに変換する、プログラムを 作るとしたらどのようにすれば良いのでしょうか? 変な質問なのかもしれませんがよろしくお願いします。
610 :
新米ギコ :2000/08/08(火) 00:52
―――――――――――――― よくスレ立つね __ __ .r―――――――― ∨ |曖昧な文章の1も多いね 日 凸 U | ______ ≡≡≡≡≡| / .∧ ∧ / ̄ ̄ ̄ ̄ ̄ U ∩ [] ∨% (゚Д゚ ;) < 昔っからどこでも話合われてた話題も多いですね __ ∧∧___ .∧∧|つ∽)_ \_____ ( @`@`)日 ( @`@`)∇ ― / | ――.../ | ――― \(__.ノ \(__.ノ ━┳━ ━┳━  ̄ ┻  ̄ ̄ ̄┻ ̄ ̄ ̄ ̄ ―――――――――――――― サーチエンジンって知ってるか? __ __ .r―――――――― ∨ |人に聞くなら分かるような文章でスレ立てろ 日 凸 U | ______ ≡≡≡≡≡| / .∧∧ / ̄ ̄ ̄ ̄ ̄ U ∩ [] ∨% (゚Д゚ ;) < 宗教は宗教板でお願いします __ ∧ ∧___∧ ∧|つ∽)_ \_____ (@`@` ゚Д゚)日 (゚Д゚@`@`)∇ ― / | ――.../ | ――― \(__.ノ \(__.ノ ━┳━ ━┳━  ̄ ┻  ̄ ̄ ̄┻ ̄ ̄ ̄ ̄
611 :
名無しさん@1周年 :2000/08/08(火) 00:55
612 :
名無しさん@1周年 :2000/08/08(火) 01:46
N-BASIC
それは、611への返信? Win32環境であれば、WideCharToMultiByteで変換できますが、 N-BASICでの使用方法は知りません。
614 :
名無しさん@1周年 :2000/08/08(火) 03:05
ユニコードとシフトJISの並びには規則性がないと聞いたことがあるんだけどホント?
615 :
。>614 :2000/08/08(火) 03:09
規則性は無いですね。 だから、算術的には求める事は、出来ません。 JISと互換性の無い漢字コードには、他にIBM漢字コードも互換性がありません。 以前変換テーブルを作って変換しました。重労働です。
616 :
609>611 :2000/08/08(火) 09:53
C言語です
617 :
>616 :2000/08/08(火) 10:00
では検索して下さい。フリーのコードが見つかるかもしれません
618 :
名無しさん :2000/08/08(火) 10:07
こんにちは。 ちょっと困っていることがあるのですが、今ちょっとASPで掲示板を つくっていて、大体完成したんですが、TEXTAREAの改行が投稿欄に 反映されないでちょっと困っています。何か設定、もしくは書くべき コメントがあるのでしょうか... よろしくお願いします。
619 :
新米ギコ :2000/08/08(火) 10:36
∧∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(@`@`゚Д゚) <
>>618 <pre>タグでくくる
Π ̄ ̄ ̄| \
|つHTML ()  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
∪∪
#もしくは、'\n'を<br>タグに置きかえる
620 :
名無しさん :2000/08/08(火) 11:37
>619 ありがとうございます。 タグで解決するよりINSERTのロジックで解決したいんですよね。 何とかならんのかな--
621 :
名無しさん@1周年 :2000/08/08(火) 12:05
>タグで解決するよりINSERTのロジックで解決したいんですよね。 あのね… そういうことは最初っから言っておいた方が互いに無駄を省けるぞ。
>620さん タグで解決するほうがスマートな気がするのですが、 なぜにINSERTのロジックで解決されたいのでしょうか? ちょっと興味があります。
623 :
名無しさん :2000/08/08(火) 13:16
618です。 間違えていたらちょっと恥ずかしいんですが、 <PRE>タグって等幅フォントになってしまうし、行数が多くなってしまうと、 TEXTAREAの範囲内でしか表示されない?(このへん不安)ため、表示しきれない? ってところがいやだったので、INSERTするロジックで例えば 改行 テスト っていうのを 改行<BR>テスト って言う風に置き換えることができないのかな--、って思ったのです。
ありがとうございます。 解決しました。
625 :
名無しさん@1周年 :2000/08/08(火) 14:44
C言語はプログラムを作るに当たって覚える事が非常に少ないって 書いてあったけど本当ですか?
626 :
>625 :2000/08/08(火) 14:58
嘘でもありホントでもあり、 若いならC言語以外も触ってみて自分で判断しましょう
627 :
エロリ・ザ・男爵 :2000/08/08(火) 17:21
623と624の間に何があったか知りたいズラ。
そうです。 ぜひ、知りたいです。 ついでに、 ASPにはINSERTっていう命令があるのですか?
629 :
名無しさん@1周年 :2000/08/08(火) 22:40
学校がMSとキャンパスアグリーメントって契約してて MSのアプリはほとんど自分のパソコンにインストール出来るんですが コピー防止の為にパソコンを学校に持っていってインストールしなきゃならんし 紙のドキュメントも貰えない、在学期間中しか使えない、と制限が多い。 で、VCを使いたいなと思ってるんだけど、アカデミックパック買おうか、 学校ので済ますか迷ってるんですが、どっちがいいでしょうか? 在学期間中過ぎたら、アップグレード等の優待も受けられません。 後から買いなおすんなら学生のうちに買っておきたいし。 学校までPCを持ってくのも面倒だし。。。
630 :
629 :2000/08/08(火) 22:48
あと金出して手に入れると、勉強するのに気合が入りそうだし。
>>629 もう答え出てんじゃん(笑)
大丈夫、一週間程メシを食わなければいいだけだ!
632 :
>630 :2000/08/08(火) 22:57
>あと金出して手に入れると、勉強するのに気合が入りそうだし それは幻想でしょう。 作りたいものがある、やりたいことがあるって動機の方が100倍気合が入ります
ヴィジュアルC
634 :
名無しさん@1周年 :2000/08/09(水) 12:22
JAVAの配列の要素を途中から増やすにはどうしたらよいのですか? VBのRedim@`Preserveみたいなことです。
635 :
名無しさん@1周年 :2000/08/09(水) 13:04
>634 配列に対しては方法は無いんじゃないかな。 それをやりたきゃ、java.util.Vectorやjava.util.ArrayList使うべし。
636 :
名無しさん@1周年 :2000/08/09(水) 13:16
現在、VB + ORACLEを使用しています。 VBでSQLを書いているのですが、WHERE句で DATE型のものを検索するとエラーになって しまいます。 VBでDATE型での検索方法をご存知の方、 ご教授ねがいます。
∧ ∧ ∧ ∧ /⌒~~~⌒\ ( @`@`) (@`@`・Д・) / ( ゚>t≡ )y─┛~~ 〜(___ノ 〜(___ノ @`γ_ (_ ノγ U ∩_∩) THANK YOU 2ch ┌───────┐ \ α___J _J and (| ● ● | ヽ / ̄ ̄ ̄ ̄\ GOOD-BYE 2ch WORLD! /.| .┌▽▽▽▽┐ .|____|__||_| )) / ● ●、 ( ┤ .| | .|□━□ ) |Y Y \ またどこかで会おうね \. .└△△△△┘ .| J |) |.| | .▼ | | \あ\ | ∀ ノ | \/ _人|∧∧∩゛冫、 .∧_∧ | \り.\ . | - ′ | _/)/)/( ゚Д゚)/ ` . (´∀` )..ヽ(´ー`)ノ \が\ . | ) \ / 〔/\〕 U / ∩∩ ( ) (___) \と.\ .|/ | | | c(*・_・) | |ヽ(´ー`)ノ_| | | | |〜 /\.\う\| (-_-) (__)_) UUUU /∪∪ (___)(_(__) ◎ ̄ ̄◎─┘ .└──┘.(∩∩) つーことで、このスレは終わり
638 :
>636 :2000/08/09(水) 16:14
where句作る時に、Date()使ってます?
639 :
636 :2000/08/09(水) 17:00
>>638 使っていませんです。
SQL = "SELECT * FROM 表名"
SQL = SQL & " WHERE 日付列 = " & 日付変数
のようにやって駄目でした。
>636 ちゃんと to_date 使ってる? to_date( '2000/08/09 16:14'@` 'YYYY/MM/DD HH24:MI:SS' ) とかやるんだったかな? ごめん、忘れちゃった。
>636 ORACLEでは、表示されなくても内部では時分秒まで持ってますので、 「=」で引っ掛けたい場合は、 to_char( 日付列@` 'YYYY/MM/DD' ) として、年月日の文字列にしておいて、 それと日付変数を 'YYYY/MM/DD' の形式にしたのと比較する。 (to_char()の引数の順番、逆だったかもしれん、 今ちょっと実験できる環境がないんだ) to_char()とto_date()をマニュアルで調べてみて。
642 :
636 :2000/08/09(水) 17:24
>>640 >>641 教えてもらったとおりにTO_DATEを使い下記のように
書いたら検索できました。
ありがとうございました。
SQL = "SELECT * FROM 表名"
SQL = SQL & " WHERE 日付列 = to_date('" & 日付変数 & "'@`'YYYY/MM/DD')"
643 :
638 :2000/08/09(水) 17:38
>638@`640 あ、そだ、date()じゃ無くてto_date()だっけ、ゴメン。 638さんので書式は合ってるので SQL = "SELECT * FROM 表名" SQL = SQL & " WHERE 日付列 = to_date( '" & 日付変数 & "'@` 'YYYY/MM/DD HH24:MI:SS' )" だね。日付変数がdate型だったらformat()が必要
644 :
名無しさん@1周年 :2000/08/09(水) 19:38
Win98で、MSDOSのウインドウを開くと、最初は C:\WINDOWS> なのですが、これを最初から、自分の好きなディレクトリで 開くことはできるのでしょうか? おしえてください、ギコ様。
645 :
ごはん定食 :2000/08/09(水) 19:46
>644 プロパティを開いて「作業ディレクトリ」に好きなディレクトリを いれるだけ。
Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (@`@` ゚Д゚) ||< このスレッドはこれにて終了! (≡V/~つ \ お後がよろしいようで。 (_Y_) \___________  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ΛΛ ΛΛ ΛΛ ΛΛ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ΛΛΛΛΛΛΛΛΛΛ< >1 逝ってよし! @`@`゚Д゚(゚Д゚)゚Д゚( ゚Д゚)゚Д゚) \_______
648 :
アンチC++&C大好き! :2000/08/10(木) 15:35
「C言語は誕生したのは1970年代なのでC言語は最新のプログラム言語とは言えないでしょう」 とか言ってる人もいますね。わはははは。 だったらよーC++だって1979からスタートしたわけだから最新のプログラム言語とは 言えないよなぁ。わはははは。 UNIXがCで書かれてるのは別として、 最新の言語のVMが30年前の言語Cで書かれてたりするんだよね。わはははは。 あ、でもC89だから10年まえか? だったらC++も最近標準化されたから若いのかぁ?わはははは。 C99の登場で(旧)ピッコロ大魔王みたいに若さをとりもどすかな?わはははは。 なんか意味不明。わはははは。
∧∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(@`@`゚Д゚) <
>>648 輪は母は
Π ̄ ̄ ̄| \_____________
|つc++萌()
| |___.|
∪∪
結局、何がいいたいのかわからないよ。わはははは。
652 :
しー :2000/08/10(木) 20:51
∧_∧ アハ♪ _(゚ー゚*)__ /| ∪∪./\ /| ̄ ̄ ̄ ̄|\/ | しぃ |/  ̄ ̄ ̄ ̄
653 :
>649 :2000/08/10(木) 20:52
ギコ、なんかコワい (^^; 白目で「輪は母は」はヤメて
654 :
新米ギコ :2000/08/10(木) 23:30
655 :
名無しさん@1周年 :2000/08/10(木) 23:33
( ゚Д゚)ノ ギコ猫のプログラマ人生相談室 きぼ〜ん。
ではこれからは、プログラマのお悩み相談室ということで。 ======では開始====== もういい年なのですが、女の子との出会いが少なくて困ってます。 何か良い方法ないですか?
657 :
新米ギコ@叩かれ役 :2000/08/10(木) 23:48
__
J_†_| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(@`@`゚Д゚) <
>>655 人生相談板にでも自分で立てれ!
Π ̄ ̄ ̄| \
|つ 布教 ()  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
∪∪
__
J_†_| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(@`@`゚Д゚) <
>>656 婦女子の多い職へ転職だ!
Π ̄ ̄ ̄| \
|つ 布教 ()  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
∪∪
658 :
新米ギコ@布教中 :2000/08/10(木) 23:50
__
J_†_| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(@`@`゚Д゚) <
>>655 人生相談板にでも自分で立てれ!
Π ̄ ̄ ̄| \
|つ 布教 ()  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
∪∪
__
J_†_| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(@`@`゚Д゚) <
>>656 婦女子の多い職へ転職だ!
Π ̄ ̄ ̄| \
|つ 布教 ()  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| |___.|
∪∪
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜′ ̄ ̄( ゚Д゚)< すまん! UU ̄ ̄ U U \_____________
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜′ ̄ ̄( ゚Д゚)< 二度と上がりませんよーに UU ̄ ̄ U U \_____________
661 :
名無しさん@1周年 :2000/08/16(水) 02:49
JavaのAPIを解説している本で、何か良いのはありますか?
662 :
名無しさん@そうだ選挙にいこう :2000/08/18(金) 15:39
シフト演算で割り算をする場合なんですが
int a=-1; a=a
>>1 と
VC++で試した見たら符号ビットはシフトされないで、正しい答えが出るのですが
これって処理系依存ですか?(なんかどっかのスレで噛み付いてる人がいたんですけど)
663 :
名無しさん@そうだ選挙にいこう :2000/08/18(金) 15:41
あ、失礼しました。a=−1 だと正しい答えになりませんね a=-2とかの場合です
666 :
>662 :2000/08/18(金) 16:15
どこのスレ?おれも見たいな。
『コアJava2』vol.1基礎編(アスキー出版局) ってやつをつかっているけど、まあまあいいよ。 分厚くて高いけど、それなりに役に立つ。
670 :
名無しさん@1周年 :2000/08/20(日) 19:59
>>334 あたりで新しいスレを立ててくれと頼んだり
>>610 ではスレッドの乱立が嫌だから煽ってみたりしたが、効果なしみたい
つーか、プログラマー板ではスレッドを立てる方向でやっていくと考える住人が
たくさんいると思ったり。
で、このスレもいいかげんレス数も多くなってきたので閉めるのが妥当かと
思ってたりするし。
自分でスレ立ててやれとか思う今日この頃。
Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(@`@` ゚Д゚) ||< このスレッドはこれにて終了!
(≡V/~つ \ 後は、新しいスレを立ててがんばってくれ、名無しさん@1周年
(_Y_) \___________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ΛΛ ΛΛ ΛΛ ΛΛ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
ΛΛΛΛΛΛΛΛΛΛ< >670 逝ってよし!
@`@`゚Д゚(゚Д゚)゚Д゚( ゚Д゚)゚Д゚) \_______
>つーか、プログラマー板ではスレッドを立てる方向でやっていく いつからそうなったん? 「スレを立てる立てない」と「板で話の内容を分ける」のは違うやん。 ここでなく「超初心者のための・・・」のスレでもいいけどさ。 まー別に、新米ギコは質問に回答しなくてもいいけどね。 俺を含め、乱立反対の人間は何人もいるからさ。 少なくとも俺は、スレ立てられたらむかつくような 簡単な質問に対してでも 「下らないスレを立てなかった」という行動に敬意を表して わかる範囲で答えていたよ。煽らずにね。
補足。俺も「ロビーからきました」的にスレたてまくったり 「ヤフーからきました」的に厨房まるだしなのは嫌いだが、 批判要望板で「初心者を排除しろ」的な恥スレを見るのも嫌いだよ。
674 :
名無しさん@1周年 :2000/08/21(月) 11:42
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜′ ̄ ̄( ゚Д゚)< 俺はお前のものじゃない。新米ギコ逝ってよし UU ̄ ̄ U U \_____________
675 :
名無しさん@1周年 :2000/08/21(月) 11:47
>>671 最近、「プログラム板を仕切れ」って電波でも受けたの?
┌──────────────────────―─―┐ │ | │ | │ | │ | │ ∧_∧ | │ ( ・∀・) | │ ( ) | │ | | | | │ (__)_) | | 2ちゃんねる | │ | │ スレッドを終了しています… | │ | │ | | | | | └───────────────────────――┘ ……………ぷつっ
677 :
名無しさん@1周年 :2000/08/21(月) 14:20
>>新米ギコ お前がこのスレッドに関わりたくないんだったら、無視しとけば いいだけじゃない。というか、関わるなよ。なんでそんなに終わ らせたがるの? もしかして、他の人にギコ猫を使われたくないから?(藁
678 :
名無しさん@1周年 :2000/08/21(月) 14:49
よくいるよ、そういう自意識過剰な奴。ちょっと基地が入っているんだけど、 多かれ少なかれだれでも経験がある物。まあ、学生さんだろ、新米ギコは。 卒業するまでには、自分に気づけよ。社会に出てからそれじゃあ、恥ずかし いぞ。まじで。>新米ギコ
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 〜′ ̄ ̄( ゚Д゚)< 回転開始! UU ̄ ̄ U U \_____________
移転先も決まってる終わったスレを上げるものかね
ギコ猫を他人に使われたくなかったらモナー板アタックしてるっつーの
いい加減レス数も多くなってるのに新しいスレ立てる根性ある奴いないのかねぇ
おばかを相手にしてるとつかれるやねぇ
人がsageで上がらないように気を使ってるのに
どーでもいいんだけどね
686 :
名無しさん@1周年 :2000/08/21(月) 14:59
あげ
かったりー
688 :
名無しさん@1周年 :2000/08/21(月) 15:00
>>新米ギコ お前がこのスレッドに関わりたくないんだったら、無視しとけば いいだけじゃない。というか、関わるなよ。なんでそんなに終わ らせたがるの? もしかして、他の人にギコ猫を使われたくないから?(藁
>>新米ギコ お前がこのスレッドに関わりたくないんだったら、無視しとけば いいだけじゃない。というか、関わるなよ。なんでそんなに終わ らせたがるの? もしかして、他の人にギコ猫を使われたくないから?(藁
690 :
名無しさん@1周年 :2000/08/21(月) 15:01
よくいるよ、そういう自意識過剰な奴。ちょっと基地が入っているんだけど、 多かれ少なかれだれでも経験がある物。まあ、学生さんだろ、新米ギコは。 卒業するまでには、自分に気づけよ。社会に出てからそれじゃあ、恥ずかし いぞ。まじで。>新米ギコ
真すれっどすとっぱーでもつけてもらうかなあ
>>新米ギコ お前がこのスレッドに関わりたくないんだったら、無視しとけば いいだけじゃない。というか、関わるなよ。なんでそんなに終わ らせたがるの? もしかして、他の人にギコ猫を使われたくないから?(藁
移転先も決まってる終わったスレを上げるものかね
いい加減レス数も多くなってるのに新しいスレ立てる根性ある奴いないのかねぇ
さげ
┌──────────────────────―─―┐ │ | │ | │ | │ | │ ∧_∧ | │ ( ・∀・) | │ ( ) | │ | | | | │ (__)_) | | 2ちゃんねる | │ | │ スレッドを終了しています… | │ | │ | | | | | └───────────────────────――┘ ……………ぷつっ
698 :
名無しさん@1周年 :2000/08/21(月) 15:25
新米ギコみたいに精神が不安定な奴に、何を言っても無駄。 別スレ作ったら?新米ギコ入室禁止とかって(藁
699 :
名無しさん@1周年 :2000/08/21(月) 17:55
>新米ギコ 貴様のやっている事は荒らしだぞ。わかっているのか? スレは立てた奴の物じゃない。 下げまわしは一本釣りのスレだけにしておけ。 だいたい、てめーは >スレ乱立する方針 とか勝手にヌカしながら >雑談なら↑が とか勝手な事ホザいてんじゃねぇよ。
700 :
名無しさん@1周年 :2000/08/21(月) 18:49
あー、やだやだ。 新米ギコ叩きか。やだやだ。
702 :
名無しさん@1周年 :2000/08/21(月) 19:06
お前が勝手に終わらせて、勝手に移転しただけ。 そんなことも判らないの?>自意識過剰猫(藁
真スレッドストッパーにご登場ねがいたい。つーか粘着うざい。
704 :
名無しさん@1周年 :2000/08/21(月) 20:17
お前達が移転するのは自由だよ。 どうぞ移転先でがんばってね。>新米ギコとその支持者 (何人いるか知らないけどね) 君達がこっちに書きこまなければ良いだけの話。 こっちはこっちで質問受け付けるからさ。 勝手にスレッド終了させないでよね。
705 :
>700 :2000/08/21(月) 22:16
違うね。このスレッドの671以降、新米ギコは単なる荒らしだよ。 荒らしが叩かれるのは当然だろ。 大体において、このスレッドを再開したら、新米ギコにどんなデメリ ット、もしくは不満があるのよ? 1.自分が立てたスレッドを勝手に使われるのはイヤ。 2.300ぐらいでPart3を作ろうって言ったのに、誰も聞いてくれなかったから 3.前に「スレッド乱立するのがイヤだから」ってせっかく煽ってみた けど、 誰も聞いてくれなかったから。 4.自分が終了させたつもりだったのに、勝手に再開されるとはけしからん 5.自分以外にプログラム板でギコ猫を使われるのはイヤ こんなもんか? ガキのわがままとしか見えないのだがな。
706 :
名無しさん@1周年 :2000/08/21(月) 22:19
追加: 6.スレッドが乱立して、板が早く回るようになれば、某一本釣りスレッド の沈むのが早いから(藁
>707 どうでもいいが、お前暇すぎ。無職か?
夏休み中の学生さんじゃねえの
>707 ポインタを消すってどうやるの?
猫だよ猫。最近プログラムを覚えた。
>707 そのギコはかわいくない!
仕切りたい年頃なのかなぁ。
>653 名前:新○ギ○@しし座投稿日:2000/08/22(火) 00:32
>
>>649 ネコ座ッス(w
>
>それにしても、新しくスレッド立ててくれればいいだけだったのになあ。
>日本語って難しい (亡
>移転先のURLなんてスレの一番下にあるのが一番いいって思わないのかなあ
>
>ま、煽り用の文書テンプレは使わんですんだからよしとするか (亡
>
>ホントにスレッドストッパーの依頼出しちゃおうかと思ったよ。はぁ〜
>
だってさ(藁
自意識過剰に加えて、自閉症もあったらしい。 それが言いたくて、あのスレッド回しか……。
717 :
名無しさん@1周年 :2000/08/22(火) 00:45
>ま、煽り用の文書テンプレは使わんですんだからよしとするか (亡 興味があるから、age
日本語が不自由なのは、猫だから仕方がないとして、その 「煽り用の文書テンプレ」って見てみたいなあ。 っていうか、テンプレート使わないと、煽れないの?? 日本語不自由な訳だ
719 :
名無しさん@1周年 :2000/08/22(火) 02:04
MSのソリューションって良いのか?
君に聞く。 MSのソリューションを、信用する気になるか?
721 :
719 :2000/08/22(火) 02:15
あまり良い噂を聞かないからさ。 2chではどうなのかなと・・・
722 :
名前:新○ギ○@しし座 :2000/08/22(火) 07:11
((\ パタパタ /)) | オレは思った、移転するとき反対されなかったのに
((\ヽΛΛ //)) | オレは思った、ずっと下がってたのに
((\( ゚Д゚)/)) < オレは思った、移転先のURLは分かりやすいとこにあるほうがいいと
( ̄∪∪ ̄) | オレは思った、上げるほどのスレッドか
 ̄| ̄| ̄ .| オレは思った、捨て台詞のあとに(藁)は間抜けに見える
〜| | .| オレは思った、プロファイリング下手だな
∪∪ | オレは思った、またオレがスレッド作らなきゃならないの
スィ‐∬ ∬ .| オレは思った、大きいスレはサーバの負担になるのに
オレは思った、スレッド新しく作ってそっちでやってほしいだけなのに
オレは思った、厨房って何でIP取られるのをそんなに怖がるのだろう
移転先: ( ゚Д゚)ノ ギコ猫のプログラム相談室part3
http://piza.2ch.net/test/read.cgi?bbs=tech&key=965916840&ls=50
恥ずかしい奴……。読んでいるとこっちが赤面するよ。
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄( ゚Д゚)<
>>723 俺も読みたくないから封印するつもりだった
UU ̄ ̄ U U \_____________
よく考えたんだけど、スレッドを立てろって俺がいってるのは、 新しいギコスレを
立てろってことが言いたかっただけ。日本語が不自由なもので~~~~~~~~~~~~~~
うまく伝わらなかったみたいだけど。。。
スレッド乱立してやだなあと思ったけど、どっかのスレで、ギコスレに逝けとか
いう書込みをするくらいなら最初からそんな風にならないように手を打っておけば
いいのにと思ったり。
>>670 みたいな注意書き付きのは新しいギコスレでも立てる方が効果があると思ったり。
10年後に2chがあったらスレみたいなのを擁護するようなところっつーのは
スレッド乱立OKなところと思ったり
とにかく、移転先が決まってるスレッドなんだから、新しいギコスレ立てろっつーの
移転先: ( ゚Д゚)ノ ギコ猫のプログラム相談室part3
http://piza.2ch.net/test/read.cgi?bbs=tech&key=965916840&ls=50
725 :
> :2000/08/22(火) 09:39
ごめん、単なるsage忘れ。煽りぢゃないよ
727 :
>723 :2000/08/22(火) 09:44
お前みたいなのが同じプログラマーかと思うと、恥ずかしくなるよ。
>>724 なぜ、最初にそれを言わず、回したり、無理矢理終了させようとしたり
したのさ?
>>715 に感謝。俺は元スレを晒そうかと思ったよ
>荒らしねこ
1.それで、貴様がこのスレを荒らした事に対する見解は?
2.貴様は「ここはスレ立てる方針」と言いきった。これについては?
3.長いスレが鯖に負担をかけて、スレ乱立が鯖に負担をかけないという根拠は?
4.荒らしている人間がスレッドストッパーを申請して、認められると思っているのか?
そして一番貴様がクソだと思う理由だ。
5.貴様が「〜は荒氏」とふざけた事を書きこんでいる間にも、移転先のスレで質問が出ていた。
貴様はそれに回答する事よりも、このスレの書きこみ(=荒らし)を優先している。
そして、向こうで質問に回答しているのは、ここで回答しているのと同じメンバーだ。
移転先のスレが成り立っているのも、回答する人達のおかげだ。
貴様はその人達に不快感を与えている。これについて、どう思っているのか?
少なくとも、この板には起きていなかった、
無意味なコピペや下げまわしによる荒らしを行ったのは貴様だ。
これ以上、ふざけた言い訳や勝手な事を言い続け、スレを荒らすなら、
sage続けているスレで抗議してやるよ。
平和なスレに荒れた話題を持ちこませるなよ。
731 :
猫人 :2000/08/22(火) 16:11
とりあえず、みんな落ち着け。
ここ見てみろ、嵐もアオラーも自分がちっぽけに見えてくるで
http://saki.2ch.net/visual/index2.html 猫ちゃんもちょっと自分の立場にマズイこと言っちゃったから
ちょっと自粛したほうがいいかもしれないぜ
両方とも、もうちとCoolにいこうぜ
どうせそのうちここのスレもヴェクんとこのように
スレッドの彼方に消え去るんだから
終わったことは終わったことにしてさあ
僕みたいな厨房が質問の答えを待ってるんだから
そいつらにやさしく答えてやってちょうだい
新米ギコ気落とさないでね(^^;)
732 :
名無しさん@1周年 :2000/08/22(火) 19:04
みんなMS社員に習って脱税しようぜ!
733 :
名無しさん@そうだ選挙にいこう :2000/08/23(水) 15:07
class A { public: A():i(99){}; operator int() const { return i;} int i; }; int main(void){ A a; int i = a; return 0; } --------------------------------------------------------------- VC6で作成したのですが、 ”MFCを使用する”を選択してはき出したコードでは operatorが起動するのですが、 MFCを使用しないで、普通に作成した場合には、operatorが起動してくれません、 どうしてなのでしょうか? 教えてください。
734 :
名無しさん@1周年 :2000/08/23(水) 21:11
>>733 全然理由がわからない。
VC++持ってる人、再現できる?
735 :
名無しさん@1周年 :2000/08/23(水) 21:20
さいげんしないよ
736 :
名無しさん@1周年 :2000/08/23(水) 21:45
最適化かかってたりしてな
737 :
名無しさん@1周年 :2000/08/24(木) 08:41
>>733 >operatorが起動してくれません
なにをどうしたら起動してないってわかったか説明おねがいしたいですぅ。
738 :
733 :2000/08/24(木) 09:22
申し訳ありません。 私のケアレスミスでした。 皆様の書き込みを見まして、再度確認したところ newで確保したインスタンスに*が付いておりませんでした。 本当に申し訳ありませんでした。 再現を試みていただいてありがとうございます。
739 :
:名無しさん@1周年 :2000/08/25(金) 06:40
#include <stdio.h> #include <limits.h> class Counter { unsigned Cnt; public: Counter(void) { Cnt = 0; } Counter(int c) { if (c <= UINT_MAX && c >= 0) Cnt = c; } void PrintCou(void) { printf("Cnt = %u\n"@` Cnt); } }; int main() { Counter a(100); a.PrintCou(); return 0; } このプログラムをC++Builderで実行すると Cnt=6693316 と表示され、Visual C++6.0で 実行すると、Cnt=100 と正しく表示されました。 なぜ結果がちがうのでしょうか?教えてください。
>Counter(int c) { if (c <= UINT_MAX && c >= 0) で、c をsigned intにしているので、UINT_MAXが負数として 扱われifの条件が成立しないのでCnt = cが実行されず 未定義の値が出てきているんじゃないかな。
741 :
では :2000/08/25(金) 13:51
age