掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.29055

SJISのソースコードをUTF-8上でコンパイル・実行させることについて
投稿者---西村(2006/11/26 08:03:11)


初めて投稿させていただきます。

文字コードSJISのサーバ上で動作するCのプログラムをUTF-8のサーバへ移植する場合のソースプログラムの文字コードについてお聞きします。

通常なら、ソースをUTF-8に変換してコンパイルすべきと思いますが、SJISとUTF-8とのマルチバイト文字のサイズが違うためにプログラム内で使用している変数のサイズなどを見直す必要があります。

このような問題を防ぐため、ソースをSJISのままでUTF-8のOS上でコンパイルするという方法を考えています。
(入出力もSJISに統一してプログラム内にはUTF-8の文字コードは取り込まないようにする)

このようなことは一般的に行われているのでしょうか?
この際の問題点などがお気づきの点があれば教えてください。


基本的な質問で申し訳ありませんが、よろしくお願いします。



この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:SJISのソースコードをUTF-8上でコンパイル・実行させることについて 29056 επιστημη 2006/11/26 09:02:56


No.29056

Re:SJISのソースコードをUTF-8上でコンパイル・実行させることについて
投稿者---επιστημη(2006/11/26 09:02:56)
http://blogs.wankuma.com/episteme/


>このような問題を防ぐため、ソースをSJISのままでUTF-8のOS上でコンパイルするという方法を考えています。

なにをもって一般的とするのかわからんけど、
g++ はコンパイル・オプションでソースの文字コードを指定できるはず。



この投稿にコメントする

削除パスワード

No.29059

Re:SJISのソースコードをUTF-8上でコンパイル・実行させることについて
投稿者---西村(2006/11/26 21:55:45)


返事が遅れすみません。

>g++ はコンパイル・オプションでソースの文字コードを指定できるはず。

gcc --input-charset=にてソースの文字コードを指定できるようです。
早速確認してみたいと思います。

どうもありがとうございました。


この投稿にコメントする

削除パスワード

No.29060

Re:SJISのソースコードをUTF-8上でコンパイル・実行させることについて
投稿者---たかぎ(2006/11/26 22:27:09)
http://takagi.in/


>gcc --input-charset=にてソースの文字コードを指定できるようです。
>早速確認してみたいと思います。

--input-charsetオプションは、ソースコードの文字コードを指定して、コンパイル前にUTF-8に変換するためのものです。
実行プログラムでもSJISを使いたいのであれば、

--input-charset=cp932 --exec-charset=cp932

としてください。
cp932としないと、コンパイラが誤動作するようなので注意してください。
また、ソース中にSJIS以外のコードが混在していてもエラーになります。特に、欧州圏の開発者の手によるライブラリを使う場合は要注意です。



この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧