日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

预编译指令

發布時間:2024/10/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 预编译指令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2018-04-24 創建人:Ruo_Xiao 開發環境:VS2010 郵箱:xclsoftware@163.com

1、__FILE__:本行語句所在源文件的文件名。
2、__LINE__:本行語句在源文件中的位置信息。
3、#line:重新設定上述兩個變量的值。
語法格式:“#line number[“filename”]”
栗子:

#include <string> #include <iostream> using namespace std;int main() {cout<<__FILE__<<endl;cout<<__LINE__<<endl; #line 520 "嘿嘿嘿"cout<<__FILE__<<endl;cout<<__LINE__<<endl;cin.get();return 0; }


4、#error:在編譯時輸出錯誤信息
栗子:

#include <string> #include <iostream> using namespace std;int main() { #error My Error! cin.get();return 0; }

輸出信息:fatal error C1189: #error : My Error!
5、#pragma
(1)#pragma once:保證該頭文件只被編譯一次。
(2)#pragma message:編譯器編譯到該條語句時輸出其后面的文本。
栗子:

#pragma message("哈哈哈!")

編譯器輸出:

(3)#pragma warning

#pragma warning(disable : 4507 34; once : 4385; error : 164)

功能如下:
A、禁止警告信息的顯示,上栗中的disable,禁止顯示警告信息4507和34;
B、顯示一次,上栗中的once,4385只顯示一次;
C、提高警告信息為錯誤,上栗中的error,警告164升級為錯誤;
D、保存編譯器警告的狀態:#pragma warning(push,n),n表示設計全局警告等級。
E、恢復該狀態:#pragma warning(pop)。
栗子:

#pragma warning(push) //保存編譯器警告狀態 #pragma warning(disable:4244) //取消4244的警告 int i = 7.4; //無警告信息 #pragma warning(pop) //恢復之前的警告轉改 int k = 5.3; //warning C4244: “初始化”: 從“double”轉換到“int”,可能丟失數據return 0;

(4)#pragma comment
A、作用:該指令將一個注釋記錄放入一個對象文件或可執行文件中。
B、使用方法:#pragma comment(comment-type ,“……”)
C、comment-type是一個預定義的標識符,指定注釋的類型,應該是compiler,exestr,lib,linker之一。
栗子:導入lib文件

#pragma comment(lib, "my.lib")

(5)#pragma pack
設置內存的對齊長度。
栗子:

#pragma pack(4)struct A {char a;int k; };int main() {cout<<sizeof(A)<<endl;cin.get();return 0; }

結果:5

(SAW:Game Over!)

總結

以上是生活随笔為你收集整理的预编译指令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。