ここから本文です

Cのソースにアセンブリを入れるメリットは何かありますか

ain********さん

2019/12/1016:05:54

Cのソースにアセンブリを入れるメリットは何かありますか

閲覧数:
51
回答数:
3

違反報告

ベストアンサーに選ばれた回答

yuk********さん

2019/12/1018:51:29

「『それ以外に方法がない』ことがそれでできるようになる」という点。

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

n2q********さん

2019/12/1218:22:34

プログラムを作成した本人以外がコンパイルを行う場合があります。ソースコード一式を渡して、そして、コンパイルの仕方(というか、環境の整え方)を教える形になります。

C言語の(C++の)ソースコードに加えてアセンブリ言語のソースコードもある場合、コンパイルとアセンブルの仕方、リンクの仕方、等々について、プログラム作成者と全く同じことを別の人が行えるかどうか心配になる面があります。


この点、


「Cのソースにアセンブリを入れる」


これが出来ると何も心配要らなくなります。実際の話としては Windows 3.1 の時代にですね、かなりアセンブリ言語を使用する場面がありました。それで C++ のコードにインラインアセンブラでコードを仕込んでおくと、ソースコードとして完結していますので、単純にそれを他の人に渡せば良いわけです。Visual C++ 1.0、1.5 でコンパイルするだけの話です。別途アセンブラ( masm )を用意する必要が無いのです。

そしてまた、Windows 95 の時代になりましてから、16 ビットと 32 ビットの両方で使用するコードというものがありましてね。その方がラクだからです。保守の面で。この場合、16 ビット用のアセンブリ言語のコードと、32 ビット用のアセンブリ言語のコードの両方を仕込んでおいて、#ifdef _WIN32 で条件コンパイルできていましたので、非常に楽でした。やはりソースコードをそのまま渡すだけです。masm の準備は要らないわけです。



《参考》

64ビットの時代になりましてからは事情が変わりました。インラインアセンブラは使えなくなりましたので。

でも、Visual Studio だけでアセンブリ言語が使えてしまうので、実際にはあまり困りません。16 ビットのコードと共存させる必要もだいぶ前に無くなりましたし。


現状を考えますと、

「Cのソースにアセンブリを入れるメリット」

これは消えた感があります。64ビット版では出来ないのでメリットとかの考え方をしないのと、また、その必要性もほぼ無くなったのではないかと。

2019/12/1017:56:31

アセンブリー言語とは異なり、
もともとC言語などの言語は、
CPU依存から切り離すために
開発された言語でもあるし、

分かってないと危険を孕むから、
テスト用とかデバッグ用でなければ、
CPUに依存し兼ねないので、
残したり入れるべきではないでしょうね。

メリット以前の話だね。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる