Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C /C++でのOSに依存しないコードの記述


実行しているOSに関係なく、オペレーティングシステムと対話できるプログラム。

c / c ++のコンパイラのほとんどは、OSを検出するマクロを定義する能力を持っています。

GCCコンパイラのいくつかのマクロは-

です
  • _WIN32:32ビットおよび64ビットのWindowsOS用のマクロ。

  • _WIN64:64ビットWindowsOS用のマクロ。

  • _UNIX:UNIXOS用のマクロ。

  • _APPLE_:macOS用のマクロ。

定義されたこれらのマクロに基づいて、OSに関係なく動作するプログラムを作成しましょう-

#include <iostream>
using namespace std;
int main() {
   #ifdef _WIN32
      system("dir");
   #else
      system("ls");
   #endif
      return 0;
}

出力

This lists all files of the directory to the output screen irrespective of OS.

  1. C / C ++のmemcpy()

    この記事では、C ++ STLでのmemcpy()関数の動作、構文、および例について説明します。 memcpy()とは何ですか? memcpy()関数は、C ++ STLに組み込まれている関数であり、ヘッダーファイルで定義されています。 memcpy()関数は、メモリのブロックをコピーするために使用されます。この関数は、あるメモリ位置から別のメモリ位置に値の数をコピーするために使用されます。 関数の結果は、データのバイナリコピーです。この関数は、終了ソースまたは終了ヌル文字をチェックせず、ソースからnumバイトをコピーするだけです。 例 void memcpy( void* destin

  2. C / C ++のAAツリー?

    コンピュータサイエンスのAAツリーは、順序付けられたデータを効率的に保存および取得するために実装されたバランスの取れたツリーの形式として定義されます。 AAツリーは、エントリの効率的な追加と削除をサポートするバイナリ検索ツリーの形式である赤黒ツリーのバリエーションとして扱われます。赤黒木とは対照的に、AAツリーの赤いノードは、左のサブチャイルドではなく、右のサブチャイルドとしてのみ追加できます。この操作の結果、2-3-4ツリーではなく2-3ツリーのシミュレーションが行われるため、メンテナンス操作が簡素化されます。赤黒木のメンテナンスアルゴリズムでは、ツリーのバランスを適切にとるために、7つの異