重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

C/C++はOSごとに書かないといけないらしいですが何故なのでしょうか?

質問者からの補足コメント

  • 11月12日の10時以降にこの質問のベストアンサーを選びます!

      補足日時:2024/11/10 11:31

A 回答 (2件)

C/C++は、言語仕様と、標準化されたライブラリがあるだけで、そのほかの部分は、OS依存のライブラリだったり、フレームワーク、また、SDKだったりします


https://cpprefjp.github.io/reference.html

例えば、ネットワーク通信を行う、socketという仕組みがありますが、これはBSDがもとになって開発されたもので、C/C++のライブラリとしては各種OSで実装されていますが、C/C++で標準化されているライブラリではなく、SDKという名称などで配布されていたりします。

また、C/C++言語ではいくつかのコンパイラが存在しますが、コンパイラ間の互換性もあるわけではないので、移植性といった場合そういった難しさもあります
https://cpprefjp.github.io/implementation-status …

純粋に、C/C++の標準化ライブラリだけを使って、Windowsでも、macOSでも、Linucでも同じコンパイラの同じバージョンのコンパイラであれば、OS毎にということはないですが、その場合には、実装できるものはかなり限られてしまうという話です
    • good
    • 1
この回答へのお礼

ありがとう

ご回答ありがとうございました

お礼日時:2024/11/12 13:30

言語の自由度が高いので、各OSの独自記述が多い からですね。



POSIXなどの標準化が進んでいますので、
ある程度の共通化はされていますが・・・

独自路線大好きなMicrosoftのOS(Windowsとか)は、
他のOSに持っていけないコードになることが多々あります。
    • good
    • 1
この回答へのお礼

ありがとう

ご回答ありがとうございました

お礼日時:2024/11/12 13:04

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A