はきだめC/C++下級者の質問箱 2
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
900:デフォルトの名無しさん 08/08/13 23:56:04 C言語のマクロについて質問です、詳しい方助言ください。 __mulk(4) と記述することで、 "movl 4(%ebx),%eax \n" という文字列( " "も含む)を吐き出すマクロを作りたいのですが、 次のように考えた結果これはうまくいきませんでした。 #define LTR(STR) #STR #define COMMA , #define __mulk(A) LTR(movl A ## (%ebx) ## COMMA ## %%eax \n) カンマをそのまま書いてしまうとマクロ__mulkが2つの引数を持っていると解釈されてしまうようです。 この回避方法はあるのでしょうか?環境はLinux,gcc 4.3.1です。 901:デフォルトの名無しさん 08/08/14 00:10:54 #define __mulk(A) "movl " #A "(%ebx),%eax \n" 902:デフォルトの名無しさん 08/08/14 01:19:16 >>901 なるほど・・・すばらしい。 どうもありがとうございました。 903:デフォルトの名無しさん 08/08/14 11:49:38 プログラム実行時に引数を何も入力しなかった場合に、デフォルト引数を使いたいのですが、 どうもnullが入ってしまっていて、デフォルト引数が使えません。 どうすれば、デフォルト引数を使えるようになるか、教えていただけませんでしょうか。。。 int main (int argc,char *argv[]) { abc(argv[1]); ・・・・・ void abc(char *str = "STRING") { ・・・
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4767日前に更新/249 KB
担当:undef