Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Arahan prapemprosesan C/C++

Arahan prapemprosesan C/C++

王林
王林ke hadapan
2023-09-08 16:01:021160semak imbas

C/C++ 预处理指令

Dalam C atau C++, kita dapati baris berbeza bermula dengan simbol (#). Ini dipanggil arahan prapemprosesan. Baris ini diproses dalam peringkat prapemprosesan sebelum menyusun kod. Di sini kita akan melihat tiga jenis arahan prapemprosesan yang berbeza. Ini ialah -

  • Kompilasi Bersyarat
  • Kawalan Talian
  • Arahan Ralat

Kadangkala kami mentakrifkan beberapa makro dalam program kami. Gunakan arahan kompilasi bersyarat. Kita boleh menyemak sama ada makro ditakrifkan. Kita juga boleh mengawal mereka. Jadi jika makro ditakrifkan, tugas tertentu dilakukan, jika tidak, tugas lain yang serupa dilakukan.

Arahan kompilasi bersyarat adalah serupa dengan #ifdef-#elif-#else-#endif. Setiap blok #ifdef mesti berakhir dengan #endif. #elif atau #else adalah pilihan.

Contoh

#include <iostream>
#define MY_MACRO 10
using namespace std;
int main() {
   #ifdef MACRO
   cout << "MACRO is defined" << endl;
   #elif MY_MACRO
   cout << "MY_MACRO is defined, value is: " << MY_MACRO;
   #endif
}

Output

MY_MACRO is defined, value is: 10

Gunakan arahan kawalan talian dengan menaip #line. Kadangkala kami mendapat beberapa ralat mengenai nombor baris pilihan. Kita boleh menggunakan arahan ini untuk mengemas kini nombor baris. Jika kita meletakkannya dan menukar baris semasa kepada 200, maka baris selepas itu akan beralih dari 201.

Contoh

#include <iostream>
using namespace std;
int main() {
   cout<< "Current line is: " << __LINE__ << endl;
   #line 200
   cout << "Hello" << endl;
   cout << "World" << endl;
   cout<< "Current line is: " << __LINE__ << endl;
}

Output

Current line is: 5
Hello
World
Current line is: 202

arahan ralat digunakan untuk memaparkan ralat sebelum penyusunan. Diandaikan bahawa makro harus ditakrifkan, tetapi jika ia tidak ditakrifkan, mesej ralat boleh dipaparkan. Ini boleh dicapai menggunakan #error.

Contoh

#include <iostream>
using namespace std;
int main() {
   #ifdef MY_MACRO
   cout << "MY_MACRO is defined, value is: " << MY_MACRO;
   #else
   #error MY_MACRO should be defined
   #endif
}

Output

#error MY_MACRO should be defined

Atas ialah kandungan terperinci Arahan prapemprosesan C/C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam