
No.7ベストアンサー
- 回答日時:
コンパイラではコメント部は読み捨てられるので無理です。
代案1.
コピーライトなどの文章を出力する機能を
コメントではなくプログラム機能として実装する
代案2.
Cプリプロセッサにてコメント部を文字列に変換してからコンパイラにかける
ただし、そのためのマクロを破綻なく書くのはとても難しいので注意
代案3.
doxygen 等の文書生成ツールを使ってコメントを元に取扱説明書を生成し
オブジェクトファイル等の成果物に同梱する
コピーライト等の利用者に読ませたい情報の一般的な展開方法です
参考)
https://ja.wikipedia.org/wiki/Doxygen
No.6
- 回答日時:
コメントアウトした場所ではないですが、コメントアウトした内容のオブジェクトファイルへの埋め込みは、以下の方法で可能では?
コンパイル時の最適化で取り除かれてしまわないように、
呼び出さない関数を定義してそこに
char * 型の変数を用意して、そこに
コメントアウトしたい内容を記した文字列定数を代入して、
print文で出力
すれば、可能かと。
No.5
- 回答日時:
まず、コメントアウトというのは、「a = 1;」のようなコードにコメント記号を付けて「/* a = 1; */」にというコメントに変更するという「動作」「編集作業」を指しますので、動作を残すのは不可能です。
そうじゃなくて、おそらく、「コメント」の意味でお使いかと思います。
コメントを残すのは不可能ですが、オブジェクトコードに文字列を残すのは、プログラム冒頭に、グローバル変数として下記のように書けば出来ます。
char copyright[]="This is a pen. I am a boy.";
もしかすると最適化度合いを高めると省かれてしまうかも知れませんのでコンパイル後に確認しましょう(過去にはバージョン管理のために使われていたので、おそらく大丈夫だと思いますが)。また、コンパイラーによっては「使われない変数」という警告が出るかも知れませんが、無視。
No.3
- 回答日時:
コンパイル、ソースコード、オブジェクト の意味がお分かりか?
オブジェクトにコメントを入れるなんて 容量が大きくなって動作が遅くなるのでやらないほうがいいです。その代わり、ソースにはコメントを入れましょう。
No.2
- 回答日時:
規格では, 処理のかなり初期の段階で「注釈を空白 1個に置き換える」という操作をしている. そして, 規格に従う処理系では (実際の挙動はどうであれ) 「そのような操作をしているかのよう」に振る舞うことが求められる. 従って, 「規格に従う処理系を使う」限りは不可能 (そもそも規格には「オブジェクトファイル」なるものは存在しなかったような気もする).
もちろん実際のあらゆる処理系が「常に厳格に規格に従う」というわけではないので, なんらかのオプション指定をすればできるような処理系があるかもしれない. 私は知らないけど.
文字列リテラルを使っちゃダメなの?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
c言語の問題の説明、各所ごとに
C言語・C++・C#
-
いまc言語の標準ライブラリ文字列を勉強しているのですがいまいちわかりません。 strcmpとmemc
C言語・C++・C#
-
Javaって使いますか、もう古いですか?C++とどっちがいいですか?分析でC++使う授業ありましたけ
C言語・C++・C#
-
-
4
int16_t の _t は何?
C言語・C++・C#
-
5
アセンブラ指令
C言語・C++・C#
-
6
プログラミング 素数か素数ではないか判断するプログラミングで、写真のようなプログラミングを打ったとき
C言語・C++・C#
-
7
C言語について。
C言語・C++・C#
-
8
C言語について。
C言語・C++・C#
-
9
関数ポインタの高速化のメリット
C言語・C++・C#
-
10
C言語でファクト関数を使わずに階乗を計算する方法はありますか?できれば教えてください
C言語・C++・C#
-
11
C言語の質問です。バイナリ形式で保存されたWindows Bitmap形式の画像ファイルを読み込み、
C言語・C++・C#
-
12
C言語について。
C言語・C++・C#
-
13
C言語 バッファについて。
C言語・C++・C#
-
14
Cのdoubleの浮動小数点表示について
C言語・C++・C#
-
15
Cのオブジェクトファイルの逆アセンブル
C言語・C++・C#
-
16
C言語関数違いについて。
C言語・C++・C#
-
17
大量のデータを読み込んで表示する速度を改善したい
C言語・C++・C#
-
18
c言語の問題です
C言語・C++・C#
-
19
プログラムについて。
C言語・C++・C#
-
20
ホワイトハッカーを目指そうかと思っている状態です
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
バスエラーとは?
-
Verilog_HDLでのdefineとifdef
-
gcc コンパイル killed
-
printf()関数の括弧を二重にし...
-
ヘッダーファイル『windows.h』...
-
共有ライブラリの内容確認について
-
<math.h>ヘッダを入力している...
-
C言語で作ったらWindowsでもMac...
-
#defineとconstについて
-
VBA と コンパイル の関係
-
すべてのリビルド: 0 正常、 0 ...
-
C++のvectorについて教えてくだ...
-
ビープ音が鳴りません・・・
-
自作DLLの中身を暗号化
-
MVSマシンで0C7でABENDしたので...
-
i386 or x86_64 のどちらを選...
-
gccを使ってのリンク時のライブ...
-
逆コンパイル、逆アセンブリとは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
math.hに含まれる関数が使えない
-
実行後にコンパイルに失敗しま...
-
C#で char型とstring型の比較で...
-
共有ライブラリの内容確認について
-
ビープ音が鳴りません・・・
-
シリアル通信の受信待ちについて
-
<math.h>ヘッダを入力している...
-
c言語です コンパイルした時に...
-
Cのコンパイルでコメントアウト...
-
C言語で作ったらWindowsでもMac...
-
すべてのリビルド: 0 正常、 0 ...
-
Verilog_HDLでのdefineとifdef
-
自作DLLの中身を暗号化
-
64ビットのlinuxで32ビットメモ...
-
バスエラーとは?
-
MVSマシンで0C7でABENDしたので...
-
gcc バージョン違いによるコン...
-
ヘッダーファイル『windows.h』...
おすすめ情報