CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

ソフト開発

UNICODE対応プログラム

投稿日:

開発環境:VC6

プリプロセッサの定義に、UNICODE,_UNICODEを追加。(_MBCSをカット)

EXEの場合は、エントリポイントシンボルにwWinMainCRTStartupを記述。

・char → TCHAR

・LPSTR → LPTSTR

・LPCSTR → LPCTSTR

・strcpy → _tcscpy

 (文字列を扱う関数は、基本的に全部置き換え)

・ダブルコーテーションで文字を書いているところは、_T( ) で囲む

などなど、いろいろ大変。

CStringなんかのMFCクラスは、そのまま使えるんだけど、

MFCのなかったCの時代に作られて、今でも使い続けているような

プログラムだと、とっても恐ろしいことになる。

全部投げ出して新しく作っちまったほうが早いと考えるかもしれない。

たしかWindowsNTが出だしたころか。

UNICODEに対応しようよ、という話が出だしたのは。

(今ちょいと調べたらNT3.1がリリースされたのが1993年)

14年の年月が経過している。

当時はプログラムを始めたくらいの時期で、何のこっちゃわからんかった。

今では、少しはわかるようになってきたかな。

だいたいVC6なんて古い環境を使っていることにも問題がある。

ドットNET以降は、細かいことを意識しないでも自然にUNICODEに対応したアプリが

作れるようになっているらしいからさ。(うそかもしれん)

過去のしがらみを断ち切って、VS2005あたりにジャンプアップする。

想像の世界では実現したことあるけど、現実世界では厳しい。

まず、1本のソフトをUNICODE対応アプリに書き直してみようと思う。

実際にやってみて、どんなものかを実感してみるに限る。

-ソフト開発
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

BMPをJPEGに

ビットマップ(BMP)ファイルをJPEGファイルに変換できないものか。 そんなテーマが頭の中で渦巻いていた。 既存のアプリ(フリーソフトなど)を使えば簡単だが、 プログラム的にやるとなると、なかなか。 …

no image

random

JavaScriptと格闘してみたよ。 テーマはランダム。 10個の画像の中から、任意の3個の画像をWebサイトに表示する、 ってのが要求仕様。 Math.floor(Math.random() * …

電子印鑑のつくり方

PDFアレコレで捺印ができるようにしたわけだけど、PDFアレコレで印鑑を作ることはできない。別途つくったpdfまたはpngをnatsuinフォルダに入れておけば、捺印時にそいつらが指定可能になる。 電 …

マルチスレッドプログラミング(C#編)

マルチスレッドプログラミング(C++編) マルチスレッドプログラミング(VB.net編) に続く第三弾はC#編。

VC2017でWindowsの環境変数を取得する方法

C++のUnicodeプロジェクトにおいて、_wgetenvでWindowsの環境変数が取得できるのはわかる。 こんなソースがあって、ビルドしたらエラーになった。 [crayon-5e8ca998cd …

PREV
新DWGManager
NEXT
PS2