solarisのcコンパイラ、コマンドはccとgccです。で、日本語がコンパイルできるようにするには、どのように設定すればいいのですか?普段はWindowsを使っていて、学校だけUnix系を使っているのであまりUnix系の操作が分からないので、詳しく教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (8件)

補足ありがとうございます。



実は私も詳しいわけではないのであまり断定はできないのですが、
gcc を使う以上、漢字コードは EUC ならば問題なく通るはずです。
ソースコードをEUCにする方法は、muleやemacs を使っているなら、
Ctrl+x Ctrl+k f で漢字モードを変更して、保存して下さい。
(ありがちなのが、ファイルを開いて漢字モードを変更しただけで保存しようとすると、
保存の必要がないと言われて保存されないので、ダミー変更を加えてから保存しませう)

で、コンパイルが通って、しかし文字化けする原因は、
きっと出力される文字コードと端末が解釈する文字コードが不一致だからでしょう。
kterm の場合、-km e オプションをつけて起動すれば、EUCモードになります。
または端末上で Ctrl+Button2(マウス中央ボタン)を押して変更できます。
ちなみに xterm は日本語表示ができませんから、必ず文字化けします。
Solaris固有の端末のことは知らないので、わかりません。

「日本語だけ緑色」というのは・・・すいません、わかりません。
    • good
    • 0

.emacsファイルの内容を見る限り標準ではEUCで保存されるようになっているみたいですね



>k-841さん
>Ctrl+x Ctrl+k f で漢字モードを変更して、保存して下さい。
これってmuleでの設定なんでしょうか?
たしかEmacs20.xだとCtrl+x RET f だったと思いますけど?

>日本語だけ緑色で表示され
これってEmacs内で文字列が緑色で表示されていたって事でしょうか?
であれば.emacsファイルに
(global-font-lock-mode t)
を追加してやれば色が着くと思います。

端末上で漢字に色が着いてた場合は・・・ちょっと分かりません。
多分端末の設定だと思うんですが・・・


なんかコードの問題以外にも問題があるかもしれないので出来れば、ソースコードとコンパイル時のエラーメッセージを出してもらえないでしょうか?
    • good
    • 0
この回答へのお礼

 長い間、何も応答しなくてすいません。FreeBSDを家のパソコンに入れようとして失敗続きでインターネットができませんでした。(つまりウインドウズが消えまくりました。まだ、できてないんですけど)質問のほうは回答してもらった中に含まれているキーワードを頼りに調べている内にだいぶ、分かってきました。本当にありがとうございました。

お礼日時:2001/07/02 01:21

manのつかいかたが違います


man nkfです-はいりません。
manの使い方はman manで出ます
てか、nkfの使い方ぐらいは隣の席の人に聞いたら?
ソラリスつかってるならさすがに知ってるでしょ。
    • good
    • 0

どもです


お~~そうなのか~~\で引っかかることがあるんだぁ~なるほど
ってことはおいらは今まで引っかからなかったラッキーボーイってところかな?(笑)
    • good
    • 0

akino4さんへ



gcc version 2.95.3-2 on cygwinではshift jisでは問題発生しましたよ
akino4さんの問題が無かったのは使用漢字の中に2バイト目に'\'が出てこなかったからではないですか?
'構'の字のようにshift jisにおいて2バイト目に'\'と同様のコードが入るものでは問題が発生しました。
    • good
    • 0

gccのバージョンが古いのかな?


gccは気合がはいっててs-jisで書いてもコンパイルとおったり
して・・・・昔のはもってないからしらないですけど(^^;
少なくとも2.95.2はできるっす

あと考えられるのは記号など機種依存文字は稀にこけます。
まぁ。記号なんて使わないけど
あと、スペースを間違えて全角スペースで打ってただけということも・・・・
他にも半角のつもりがマルチバイト半角つかってみたり
そういうミスはないですか?
    • good
    • 0

コンパイラに食わせているソースコードの文字がShift JISになっているのでしょう。


ソースをEUCコードに変換してから(nkfを使ったりエディタのファイル保存で出来るものもあります。詳しくはUNIXのコンソールでman nkfかお使いのエディタのマニュアルを見てください。)コンパイルしてみてください。
Solarisのccはどうか知りませんがgccはEUCコードであれば、特にコンパイルオプションとかをつけずとも、そのまま通ったはずです。

この回答への補足

man -nkfを試してみまいたが、directryがないというエラーがでました。で、
nkf -e ファイル名 でやってみるとコンソールに表示されましたがファイル自体
eucに変わってないようです。デフォルトで使うにはどうすればいいのでしょうか?
.emacsを開いてみると次のような設定になっています。どうでしょうか?
;;; kanji code
(set-language-environment "japanese")
(set-terminal-cording-system "euc-japan-unix")
(set-keyboard-coding-system *euc-japan*unix)
(set-display-coding-system *euc-japan*unix)
(set-file-coding-system *euc-japan*unix)
(set-default-file-coding-system *euc-japan*unix)
(set-default-process-coding-system *euc-japan*unix *euc-japan*unix)
(define-program-coding-system nil nil (cons *euc-japan*unix *euc-japan*unix))

;;; initialization for egg and wnn
(set-wnn-host-name "localhost")
(setq enable-double-n-syntax t)
(defvar wnn-usr-dic-dir (concat (getenv "HOME") "/.wnndic"))
(defvar wnn-private-dic-dir (concat (getenv "HOME") "/.wnndic"))

;;; misc
(load-library "term/keyswap")
(display-time)

補足日時:2001/06/11 10:55
    • good
    • 0

すいません、これだけでは全く状況がわからないので回答できません。



最低限、何がしたくて、どの部分に日本語を使って、どのようなエラーメッセージが出たかだけでも補足してもらえないでしょうか。

この回答への補足

土日をはさんでしまい遅くなりました。すいません。
もう一回やってみると今度は日本語を入力したら文字化けしました。
printfで表示させる文の中と/**/の中に書くコメントに日本語を使いたいです。
この前は日本語は表示できてコンパイルすると、日本語だけ緑色で表示された
のですが。

補足日時:2001/06/11 10:52
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qこのホ-ムペ-ジでの質問一覧画面がエラーで出ない

このホ-ムペ-ジですが
マイページ → 関心カテゴリーの質問一覧
を押してもエラ画面ーになり表示出てきません
自分の質問解答履歴は出ます
なぜエラーに ???
宜しくお願い致します

Aベストアンサー

エラーが続出していますね。
更新ボタンを押すと表示されることが多いです。

Qgccでコンパイルされた実行ソフトのライセンスについて。

gccでコンパイルしたソフトをフリーではなく商用で販売しようとしています。(開発ソフト自身はLinux上で動作するもの)この場合、gcc自体はフリーソフトとしてGPLで適応されていますが、gccでコンパイルされた実行ソフトには著作権を持たせたり、ソースの公開をせずに商用目的で販売することは可能でしょうか?

Aベストアンサー

>コンパイルされた実行ソフトには著作権を持たせたり、
>ソースの公開をせずに商用目的で販売することは可能でしょうか?

可能だと思います。
コンパイラーの著作権は相当の対価の要求と、複製、頒布、改変を禁止しているのが主な項目です。

コンパイラーの著作権は、コンパイラーを使って作った新ソフトには及びません。
新ソフトの著作権は新ソフトのソースコードを書いた人に帰属します。

Qホームページビルダー11で通信エラー(エラーコード:553)がサイト転送時に出ます。

 こんにちは。ホームページビルダー11でサイト転送すると通信エラ
ー(エラーコード:553)が出て、フレーム表示のページも表示され
ていない状態になってしまいます。どうしたらよいですか?

Aベストアンサー

こちらがご参考になるかと

V11 で転送時に「転送エラー」ダイアログが表示されます
http://www-06.ibm.com/jp/domino01/swhc/esupport.nsf/key/49256A6A0001F136492572350006E350?opendocument

FTPのエラーメッセージの553ですと、「ファイル名の文法エラー、ファイル名が間違っているため実行できない」という意味ですので
この場合、大抵はファイル名に半角英数以外を使用しているのが原因トモ考えられますので、ご確認を。
ファイル名に使用できるのは半角英数と_-のみです。

ただ、どうもV11の不具合でもあるようですので、ファイル名に問題がない時は、サイト転送ではなくページ転送(FTP)や、フリーソフトのFFFTPなどを使って転送してみた後、ネット上で表示されるかどうか確認するのをおすすめします。

また、後日V11の修正ファイルがIBMで配布されると思いますので、たまに下記サイトをアクセスし、修正ファイルが公開されたらインストールされておかれてください。
http://www-06.ibm.com/jp/software/internet/hpb/

参考URL:http://www-06.ibm.com/jp/domino01/swhc/esupport.nsf/key/49256A6A0001F136492572350006E350?opendocument

こちらがご参考になるかと

V11 で転送時に「転送エラー」ダイアログが表示されます
http://www-06.ibm.com/jp/domino01/swhc/esupport.nsf/key/49256A6A0001F136492572350006E350?opendocument

FTPのエラーメッセージの553ですと、「ファイル名の文法エラー、ファイル名が間違っているため実行できない」という意味ですので
この場合、大抵はファイル名に半角英数以外を使用しているのが原因トモ考えられますので、ご確認を。
ファイル名に使用できるのは半角英数と_-のみです。

ただ、どうもV11の不...続きを読む

Qsolaris2.5.1対応のgccについて

solaris2.5.1に対応している、GNUのgccの最新バージョンをご存知の方が
おられましたら、お教え願えないでしょうか。GNUのホームページなどで
調べてはみたのですが、英語がよく理解できず、解決までには到りませんでした。
つまらない質問ですが、よろしくお願い致します。

Aベストアンサー

追記です。

Intel版ですと、バイナリーが 2.7.3までしか
ないようですが
2.95.3 はコンパイルできるはずです。

QWindows1032bitアップデート中にエラーが出ました。second-boot フェーズでエラ

Windows1032bitアップデート中にエラーが出ました。second-boot フェーズでエラーが出ました!全く意味がわかりません?

Aベストアンサー

windows10、windows10anniversary Updateに失敗をする場合は、
タスクトレイを開いてタブのスタートアップを開いて、すべてのアプリを無効にします。
次にもサービスを開いて、Microsoftの製品をすべて無効にします。

windows10 Creators Updateに失敗をする原因
http://freesoft.tvbok.com/win10/problems/trouble_shoot_list_creators_update.html

私のプロフィールにwindowsに関するURLを載せているので、必要な時にURLを開いて操作方法を確認してください。

QREDHAT7.0 でコンパイル時にGCCのエラーがでます

普通にREDHAT7.0をインストールし、まずインストールされたapache、SSLをアンインストール。
そしてpostgres、apacheを正常にインストールして、PHP3をインストールしようとしたところ、makeの段階で

gcc: unrecognized option `-02'

というコメントが何度も表示され、うまくコンパイルできません。
gccとか意識したこともないので、途方にくれております。
分かる方がいましたら、ご助言ください。

Aベストアンサー

これは単なる記入ミス(コピーミス)でしょうか?
「-02(マイナス ゼロ ニ)」ではなく、「-O2(マイナス オー ツー)」です。
php3なら、
configure <options>
make
make install
で一発のはずですが、、、

もう一度
make distclean
configure <options>
make
make install
とやり直してみても同じエラーが出ますか?

QC#でテキストボックスとスクロールバーをバインディングしていて、更にエラープロバイダーをセットしエラ

C#でテキストボックスとスクロールバーをバインディングしていて、更にエラープロバイダーをセットしエラーメッセージが出るようになっていてe.cancel=trueを書いています。

やりたいことは、テキストボックス空欄でタブを押下したときにエラーメッセージがでてe.cancel=trueが反応し動作できなくなることです。

現在、テキストボックス空欄でタブを押したときにエラーメッセージは出ますがe.cancel=trueが反応せず、テキストボックス内が空欄→0になり進んでしまいます。
ちなみにバインディングしているスクロールバーの最小値は0に設定しています。

是非ともご教授お願いします(._.)

Aベストアンサー

通常、TextBox内でTabを押下した時、次のコントロールへフォーカスが遷移しますが、遷移しない場合もあります。
(次のコントロールとして認識されるものがない場合もあり得る)

そのため、Tabの制御をValidatingイベントで実装することは非現実的です。

Tab制御を問題視しているのか、Validatingイベントの制御を問題視しているのかがよくわかりません。

以下のようにした場合、フォーカス遷移が行われる際に必ずキャンセルされます。
それはTabキー押下に限った話ではありません。
private void textBox1_Validating(object sender, CancelEventArgs e)
{
errorProvider1.SetError(textBox1, "hoge");
e.Cancel = true;
}

Tabキーの話をしているのならば、PreviewKeyDownイベントで実装し、Tabを入力キーとしてしまって、フォーカス遷移を行わないようにできます。
が、TabがWindowsの仕様と異なることになります。
当たり前ですが、色々制御した結果、ヨシとした場合、それによってフォーカスが遷移するならば、Validatingイベントも走行しますので。
private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyCode == Keys.Tab)
{
errorProvider1.SetError(textBox1, "hoge");
e.IsInputKey = true;
}
}

通常、TextBox内でTabを押下した時、次のコントロールへフォーカスが遷移しますが、遷移しない場合もあります。
(次のコントロールとして認識されるものがない場合もあり得る)

そのため、Tabの制御をValidatingイベントで実装することは非現実的です。

Tab制御を問題視しているのか、Validatingイベントの制御を問題視しているのかがよくわかりません。

以下のようにした場合、フォーカス遷移が行われる際に必ずキャンセルされます。
それはTabキー押下に限った話ではありません。
private void textBo...続きを読む

QRed Hat Linux 7Jでのgccコンパイルについて

最近自作のPCに7Jをインストールしたのですが、PLANEX
のLANカード(FNW-9702T)が認識せず、手動でドライバを
導入したいのですが、ソースのvia-rhine.cがgccでうまく
コンパイルできません。

鬼の様なコンパイルエラーが出るので、ヘッダのパスが
まずいのかと思ってその辺をいじりましたがうまくいきま
せんでした。(ちなみにhello.cはOKです)

ネットをあちこち覗くと、どうもバージョン7からgccが
変わりましたみたいな記述は見つかるのですが、対処の
仕方がよくわかりません。

バージョン7でうまくコンパイルできる方法をご存知の方
教えていただけませんか?

Aベストアンサー

gcc -DMODVERSIONS -DMODULE -D__KERNEL__ -isystem /usr/src/linux/include/ -Wall -Wstrict-prototypes -O6 -c viarhine.c
でコンパイルできます。
また、出来あがったドライバを設定するときですが、マニュアルには誤記があり、アルファベットのつづりが間違えています。
マニュアルのバージョンが同じなら、付録C1.RedHatLinux61の場合の
8.******「Kernel module」の値を「viahrine」にしてください。
とありますが、「viarhine」の間違いですのでご注意ください。
社内で同僚が、私が誤記を見つけるまで3日悩んでいました。

QW-ZERO3 ESの通信エラー

最近、メールの受信が出来なく、手動で受信をかけてもエラ
ーが出る事があります。もちろん、電波状況は良好です。
一度エラーが起きると、メールの受信もネットもできなくなります。
今の所、電池をいったん抜いたら、通信ができるようになりますが、根本的な解決になっていない状態です。同様の障害の復旧方法をご存知の方がおられましたらお願いします。

Aベストアンサー

データバックアップ後、フルリセット
電池裏のリセットおし、Fn+Fキー同時押し&電源ボタン

Qsolaris9にインストールできるフリーのコンパイラ

Solaris9にフリーのコンパイラをインストールしたいのですが、なかなかありません。
gccをインストールしようとしたのですが、下記のエラーが出てしまいます。
/usr/ucb/cc: language optional software package not installed

Solaris9にインストールできるフリーのコンパイラをご存知の方、もしくは
上記エラーの解決策をご存知の方はおしえてください。

よろしくお願いします。

Aベストアンサー

ほとんど gcc しか選択の余地が無いし,それがベストだと思いますが.
ひょっとして,ソースからgccインストールしようとしてます?
もしそうなら,コンパイラをインストールするのにコンパイラが必要ですけど.

以下にgccのバイナリがあります.

http://sunfreeware.com/

アーキテクチャ(SPARC or INTEL)に応じたパッケージを
使いましょう.


人気Q&Aランキング