• 締切済み

BCC5.5にてUNICODE対応にするには?

いつもお世話になっています。 小生、只今Win32APIとC言語、開発環境はBCC5.5でアプリを作成しています。 さて、今回気になったのが、BCC5.5でUNICODE対応のソースを書く際、 これでいいのか?? と思った箇所がありました。 以下にソースを記述します。 #include <windows.h> extern "C" int WINAPI _wmain( HINSTANCE hCurInst, HINSTANCE hPrevInst, LPWSTR lpCmdLine, int nCmdShow) { return 0; } 以上です。 googleにてBCC UNICODEなどキーワードを入れて検索したのですが、 どのサイトを見ても上記に記したような記述は見当たりませんでした。 コンパイルは通るのですが、本当にUNICODE対応になっているかが不安です。 諸先輩方、ご教授の方、よろしくお願いします。 それと図々しいのですが、非UNICODEにした場合のプログラムのメリット、 UNICODE対応にしたプログラムのメリット等もありましたらご教授の方、 宜しくお願いします。 乱雑な文章で申し訳ございません。

みんなの回答

  • entree
  • ベストアンサー率55% (405/735)
回答No.1

同じ質問が上がっているようなので、 こちらを参考にされてはいかがでしょうか? http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1433595379

HackHack
質問者

補足

ご回答ありがとうございます。 参考URLの質問も私が質問しました。 誠に申し訳ございませんが、 質問の方に記述させて頂いた、コードだけでもUNICODE対応になっているかどうか、ソースレビューして頂けないでしょうか?? 図々しくて、申し訳ございません。

関連するQ&A

  • BCC5.5にてプログラムをUNICODE対応にしたいのですが。。。

    いつもお世話になっています。 小生、只今Win32APIとC言語、開発環境はBCC5.5でアプリを作成しています。 BCC5.5でUNICODEに対応したソースを書きたいのですが、 下記のWebページを参考に(1)のソースを記述してみました。 http://yuzublo.blog48.fc2.com/blog-entry-32.html (1)のソース #define UNICODE #include <windows.h> extern "C" int WINAPI wWinMain( HINSTANCE, HINSTANCE, LPWSTR, int) { return 0; } (1)をbcc32 -WU でコンパイルすると下記のようなメッセージが出ました。 Error: 外部シンボル '_wmain' が未解決(C:\PROGRAM FILES\BCC55\LIB\C0X32W.OBJ が 参照) そして、エントリーポイントを_wmainにしなければいけないのかと思い、 下記の(2)のソースをbcc32 -WUでコンパイルすると、メッセージは出ませんでした。 (2)のソース #define UNICODE #include <windows.h> extern "C" int WINAPI _wmain( HINSTANCE hCurInst, HINSTANCE hPrevInst, LPWSTR lpsCmdLine, int nCmdShow) { return 0; } 果たして、どちらが正しい記述方法なのでしょうか?? 先輩方、アドバイス方、宜しくお願いします。

  • HINSTANCEの型

    LPSTR は char* なので、 int WINAPI WinMain(HINSTANCE hInstance ,HINSTANCE hPrevInstance , LPSTR lpCmdLine ,int nCmdShow ) を int WINAPI WinMain(HINSTANCE hInstance ,HINSTANCE hPrevInstance , char* lpCmdLine ,int nCmdShow ) と書き換えてもコンパイルできます。 HINSTANCEはvoid *型だという記述を見たのですが、void *で書き換えてもエラーがでてしまいます。 どうしたらよいのでしょうか。

  • 画像が出力されません

    画像出力するには int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow); から引数"lpCmdLine"を使うことにより画像が出力できる事を聞いたのですが本当でしょうか? うまく出力できません どのようにしたらよいのか具体的にソースをつけて教えてください。 画像はraw画像で出力します

  • C言語で黒い画面が出る

    gcc使ってC言語を勉強していますが、スタートmainをwindowsにしても黒い画面が出てきます。これを消すことはできませんか。やりたいことは単にメッセージボックスを表示して簡単なファイル入出力するだけです。ソースコードは以下 #include <windows.h> #include <tchar.h> int WINAPI WinMain( HINSTANCE hCurInst, HINSTANCE hPrevInst, LPSTR lpsCmdLine, int nCmdShow) { MessageBox( NULL, _T("Hello, Windows!"), _T("sample"), MB_OK); return 0; }

  • 外部シンボル "_main"は未解決です

    「LIBC.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です」というエラーが発生しましたが、何をみればいいのかわかりません。int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )がソースについています。

  • lpCmdLineについて

    #include<windows.h> int WINAPI WinMain( HINSTANCE hInstance , HINSTANCE hPrevInstance , PSTR lpCmdLine , int nCmdShow ) { MessageBox(NULL , lpCmdLine , TEXT("Kitty") , MB_ICONINFORMATION); return 0; } とやったのですが、lpCmdLineのパスが表示されません。なぜでしょうか?

  • 「外部シンボルが未解決」について教えてください

    BCCを使ってます。windowsのプログラムで、『外部シンボル 'MyCreateFontが未解決』と言うメッセージが出たのですが、リンクエラーなのでしょうか? また、『外部シンボル○○が未解決』と表示された場合、どのような処置をすればいいですか。アドバイスをお願いします。 D:\borland\bcc55\lesson>bcc32 -W -w-8057 timer.cpp Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland timer.cpp: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: 外部シンボル 'MyCreateFont(int, unsigned long, const char *)' が未解決(D:\BORLAND\BCC55\LESSON\TIMER.OBJ が参照 ) こちらが、宣言の部分です。 #include <windows.h> #define ID_MYTIMER 100 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); ATOM InitApp(HINSTANCE); BOOL InitInstance(HINSTANCE, int); HFONT MyCreateFont(int, DWORD, LPCTSTR); char szClassName[] = "clock"; //ウィンドウクラス int WINAPI WinMain(HINSTANCE hCurInst, HINSTANCE hPrevInst, LPSTR lpsCmdLine, int nCmdShow)

  • spawnl

    #include "stdafx.h" #include <process.h> int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { // TODO: この位置にコードを記述してください。 _spawnl(_P_WAIT, "chkbook.exe",...); return 0; } 上のようにして、MFCサンプルの ckhbook.exe  (引数はありません。) を呼び出そうとしましたが、上手く動きません。  どのように修正すれば良いのでしょうか?  コンソールプログラムの場合は、 簡単に呼び出せます。  よろしくお願いいたします。

  • コンパイルできません

    #include <windows.h> int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ){ MessageBox(NULL, "Kitty on your lap","メッセージです", MB_OK); return 0; } の様なプログラムを組んだところ Error: 外部シンボル '_main' が未解決(C:\BORLAND\BCC55\LIB\C0X32.OBJ が参照) の様にエラーになってしまいました。 どんな理由でエラーになっているのか調べたのですがよくわかりません。 一番初めのwin32APIを使ったプログラムで上手くコンパイルできないと 勉強が進まないので、わかる方教えてください。

  • BccDeveloperでコマンドラインの引数を拾えない

    最近、新しいWindows XPマシンにBorland C++5.5とBcc Developerをインストールしました。 以下のような簡単なプログラムを入れて、コマンドラインの引数を拾えるかチェックしたのですが、長さ0の文字列が帰ってきてしまいます。 不思議なことに、TurboDebuggerだとうまく引数が拾えます。 実行ファイルを直接に実行すると拾えるので、BccDeveloperが実行する際に引数を渡していないように思います。 どなたか、原因として思いつく方はいらっしゃいますか? よろしくお願いいたします。 #include <windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, int nCmdShow) { MessageBox(HWND_DESKTOP, lpCmdLine, "Command Line", MB_OK); return 0L; }

専門家に質問してみよう