ページへ戻る

− Links

 印刷 

VC++ONosa_dir2 のバックアップの現在との差分(No.4) :: OSASK計画

osaskwiki:VC++ONosa_dir2 のバックアップの現在との差分(No.4)

« Prev[4]  Next »[5]
4: 2004-10-04 (月) 07:33:06 ソース[6] 現: 2024-01-08 (月) 12:58:51 ゲスト ソース[7]
Line 79: Line 79:
とします。これで正常動作するはず。 とします。これで正常動作するはず。
パスの通し方は[[ここ:http://www.geocities.co.jp/CollegeLife-Library/2783/index.html]]を参照 パスの通し方は[[ここ:http://www.geocities.co.jp/CollegeLife-Library/2783/index.html]]を参照
 +
 +**試行錯誤した結果ようやく実行できたはろーわーるど
 +
 +-ちなみにMLからダウンロードできるosa_dir2はcom_mak.txtのみの変更ですむようです(extern __inline__ void ... のくだりは存在せず)。
 +-VCを持ってる人は先にVCVARS32.BATを実行してからmakeするとパス等は全部面倒みてくれるようです。
 +
 + /* "helloc4.cpp":helloをC++言語で記述した例 */
 + /*  stack:4k malloc:1k */
 + 
 + /* このソースの説明が"helloc4.txt"に書かれています */
 + 
 + extern "C" {
 + #include <guigui00.h>
 + void OsaskMain();
 + }
 + 
 + #define  AUTO_MALLOC  0
 + 
 + class helloc4 {
 + public:
 +   helloc4();
 +   ~helloc4();
 + };
 + 
 + helloc4::helloc4() {
 +   struct LIB_WINDOW *window;
 +   struct LIB_TEXTBOX *wintitle, *textbox;
 + 
 +   /* ライブラリの初期化(必ず最初にやらなければならない) */
 +   lib_init(AUTO_MALLOC);
 + 
 +   /* ウィンドウのオープン */
 +   window = lib_openwindow(AUTO_MALLOC, 0x0200, 136, 48);
 + 
 +   /* ウィンドウタイトル用のテキストボックスをオープン */
 +   wintitle = lib_opentextbox(0x1000, AUTO_MALLOC, 0,  7, 1,  0,  0, window, 0x00c0, 0);
 + 
 +   /* "hello, world"を表示するためのテキストボックスをオープン */
 +   textbox  = lib_opentextbox(0x0000, AUTO_MALLOC, 0, 12, 1, 16, 16, window, 0x00c0, 0);
 + 
 +   /* ウィンドウタイトルを表示 */
 +   lib_putstring_ASCII(0x0000, 0, 0, wintitle, 0, 0, "helloc4");
 + 
 +   /* メッセージを表示 */
 +   lib_putstring_ASCII(0x0000, 0, 0, textbox,  0, 0, "hello, world");
 + 
 +   /* 終了 */
 +   lib_waitsignal(0x0001, 0, 0);
 + }
 + 
 + helloc4::~helloc4(){}
 + 
 + void OsaskMain()
 + {
 +   helloc4 hello;
 + }
 +
*こめんと(意見・質問・間違い指摘・その他何でも。) *こめんと(意見・質問・間違い指摘・その他何でも。)
-introeみたいにライブラリを使おうとすると、エラーが出る。 -- ''uchan'' SIZE(10){2004-10-03 (日) 15:30:27} -introeみたいにライブラリを使おうとすると、エラーが出る。 -- ''uchan'' SIZE(10){2004-10-03 (日) 15:30:27}
-やっぱVC++は不便な点が多いので、GOがバージョンアップしてC++の不具合が無くなるのを期待。 -- ''uchan'' SIZE(10){2004-10-03 (日) 17:01:06} -やっぱVC++は不便な点が多いので、GOがバージョンアップしてC++の不具合が無くなるのを期待。 -- ''uchan'' SIZE(10){2004-10-03 (日) 17:01:06}
-ライブラリ出来ました。VCにパスを通し、CL = cl.exe -I$(INCPATH) -c としました。 -- ''uchan'' SIZE(10){2004-10-04 (月) 07:16:28} -ライブラリ出来ました。VCにパスを通し、CL = cl.exe -I$(INCPATH) -c としました。 -- ''uchan'' SIZE(10){2004-10-04 (月) 07:16:28}
 +-ものぐさな人に必要な処置を施したosa_dir2改をあげておきます。http://bayside.upper.jp/upload/osasksdk-20041005.lzh -- ''bayside'' SIZE(10){2004-10-05 (火) 22:01:17}
 +-obj2bim3で"Warning : can't link ??2@YAPAXI@Z"が発生。どうもnewがリンクできていないらしい。 -- ''bayside'' SIZE(10){2004-10-06 (水) 15:17:52}
 +-つまりnew演算子用のランタイムがVCにあって、それが無いからリンクできないのでしょう。おそらくランタイムはOSに依存するので、VCのランタイムから持ってくるだけでは解決できないと思います。 -- [[K]] SIZE(10){2004-10-06 (水) 15:58:27}
 +-inline void* operator new(size_t n){ return malloc(n); } でたいていの環境でnewが使えるようになるはづ。 -- [[名無しさん]] SIZE(10){2004-10-06 (水) 17:28:47}
#comment #comment
« Prev[4]  Next »[5]