数日前にキーボードに問題があり、キーボードに(
を入力できないという人がいました。 Cを書いたときの最初のことは、文字をどこかからコピーしてそれを貼り付けるか、プリプロセッサディレクティブ#define
を使うことでした。一度私が#define
を使用しようとすると、gccは#define OB (
のようなものを書くことができず、私はかなり理解しています。これに類似した文章を書くことが可能ですか?#define
を使って句読記号を置き換えてもいいですか?Cで句読子の置き換えを定義する
0
A
答えて
1
(
のトリグラフがある場合は、それをお勧めします。さもなければ、あなたの解決策はマクロで動作するかもしれませんが、残念なことにCやヘッダファイルで書かれていると、あなたが望むように解析することはできません。ただし、gcc
を使用すると、そのマクロは-D
オプションを使用して直接指定できます。
例:
int main OB) {
printf OB "Hello, world\n");
}
私は、次のコマンドを使用して、それをコンパイルすることができます:cc -o test test.c -DOB='('
を。私は'
を追加する必要がありました。そうでなければbash
はそれを受け入れません。
またCPPFLAGS
に追加のパラメータを追加しmake
を使用することができます。CPPFLAGS+="-DOB='('" make test
- もう一度、あなたはそれ以外のすべてのシェルが引用符で囲まれていない(
を理解しないだろういつもより引用符が必要です。もちろん、Makefile
に直接CPPFLAGS+=-DOB='('
を追加することもできます。
編集: 実際には、コード内にマクロを持つことができます。しかしgcc
には(
がマクロ識別子の一部ではないと伝えなければなりません。以下は私のために働いた:
#define OB \
(
int main OB) {
printf OB "Hello, world\n");
}
+0
これは完全に動作します。 – NMilev
関連する問題
- 1. XSLTで句読点を検索して置き換えます
- 2. ユニコード句読点をASCII近似に置き換える
- 3. Pythonでバイナリデータを読む(Cコードを置き換える)
- 4. c#プレースホルダをtext.htmlに置き換えて置き換えます。
- 5. Cプリプロセッサマクロの置き換え
- 6. シェルスクリプト.SHファイル内の定義セクションを置き換えます。
- 7. mybatis - resultmap - nullvaluesをユーザー定義の値に置き換えます
- 8. 特定のテキストをキャプチャしてCで置き換えます。
- 9. 事前定義されたオブジェクトをユーザー定義オブジェクトに置き換える
- 10. クラス定義マクロをテンプレートに置き換える
- 11. 子音をアルファベットの子音で置き換えます。
- 12. C++でのオブジェクトの置き換え
- 13. 列の値を、定義された因子に基づいて因子レベルに置き換える方法R
- 14. C++でファブを置き換えよう
- 15. 特定の文字を行に置き換える、C++
- 16. バージョン情報を置き換える(C#)
- 17. C++ doubleをcharに置き換えてstd :: arrayに置き換えます。
- 18. 文字列の句読点を単語の長さで異なる方法で置き換えるR
- 19. プレミアム電子メールテンプレートのテキストを置き換える電子メール
- 20. SQLはWHERE句を置き換えます
- 21. CSS変換はdivの子コンテンツを置き換えます
- 22. 同じソースファイルの置換ルールを定義する長い名前のPython Sphinx/restの置き換え
- 23. Eclipse local Findマクロを定義済みの用語で置き換えますか?
- 24. 特定のバイト位置でcharを置き換えるsedコマンド
- 25. &で置き換えることはできますか? C++で
- 26. Pythonはold_divと置き換えずに未定義
- 27. JSCS句読子
- 28. 基本クラスのすべてのインスタンスを子クラスCに置き換えます。
- 29. SBT 0.13/1.0 - << =/<+ =演算子を置き換えてタスクを再定義するか?
- 30. ユーザー定義インデックスでnp.nanをnp.nanに置き換える最もクリーンな方法
は、代わりにあなたのコードやコンパイラを微調整しようとしている、あなたは、キーボード入力をフックして、OSを微調整し、単に希望する記号にオーバーマップがあります。私は過去にいくつかのキーが欠けていたキーボードでこれをやってきました。 – Bauss
あなたの友人は[代替のオペレータ表現](http://ja.cppreference.com/w/c/language/operator_alternative)に興味があるかもしれません。 –
'gcc'は' #define OB( '' -DOB = '(' ')を理解することができませんが、ちょうど試みました。 – aragaer