当前位置: 首页 > news >正文

免费建设淘客网站百度网盘app免费下载安装老版本

免费建设淘客网站,百度网盘app免费下载安装老版本,深圳建筑业协会,六安服装网站建设地址#pragma 指令作用是设定编译器的状态或者是指示编译器完成一些特定的动作 message 参数能够在编译信息输出窗口中输出相应的信息 #pragma message(“消息文本”) code_seg参数能够设置程序中函数代码存放的代码段,当我们开发驱动程序的时候就会使用到它 #pragma…

#pragma 指令作用是设定编译器的状态或者是指示编译器完成一些特定的动作

message 参数能够在编译信息输出窗口中输出相应的信息

#pragma message(“消息文本”)

code_seg参数能够设置程序中函数代码存放的代码段,当我们开发驱动程序的时候就会使用到它

#pragma code_seg( [“section-name”[,“section-class”] ] )

保证头文件被编译一次

#pragma once

pragma warning

#pragma warning( disable : 4507 34; once : 4385; error : 164 )
等价于:
#pragma warning(disable:4507 34) // 不显示 4507 和 34 号警告信息
#pragma warning(once:4385) // 4385 号警告信息仅报告一次
#pragma warning(error:164) // 把 164 号警告信息作为一个错误。
#pragma warning( push [ ,n ] )
#pragma warning( pop )
#pragma warning( push ) :保存所有警告信息的现有的警告状态。
#pragma warning( push, n):保存所有警告信息的现有的警告状态,并且把全局警告等级设定为 n。
#pragma warning( pop ):向栈中弹出最后一个警告信息,在入栈和出栈之间所作的一切改动取消

将一个注释记录放入一个对象文件或可执行文件中
#pragma comment(…)

常用的 lib 关键字,可以帮我们链入一个库文件

#pragma comment(lib, “user32.lib”) // 该指令用来将 user32.lib 库文件加入到本工程中。

linker关键字将一个链接选项放入目标文件中

#pragma comment(linker, “/include:__mySymbol”)

# if !defined(BOOST_ASIO_NO_DEFAULT_LINKED_LIBS)
#  if defined(UNDER_CE)
#   pragma comment(lib, "ws2.lib")
#  elif defined(_MSC_VER) || defined(__BORLANDC__)
#   pragma comment(lib, "ws2_32.lib")
#   if !defined(BOOST_ASIO_WINDOWS_APP)
#    pragma comment(lib, "mswsock.lib")
#   endif // !defined(BOOST_ASIO_WINDOWS_APP)
#  endif // defined(_MSC_VER) || defined(__BORLANDC__)
# endif // !defined(BOOST_ASIO_NO_DEFAULT_LINKED_LIBS)

内存对齐

#pragma pack

// memAlign.c
// gcc memAlign.c -o memAlign
#include <stdio.h>
#include <stddef.h>#pragma pack (4)
typedef struct st
{char c;		// 起始地址 0; 结束地址 1int  i;		// 起始地址 4; 结束地址 8double d;	// 起始地址 8; 结束地址 16
}ST; // 结构体大小 16 字节typedef struct st2
{char c;         int  i;        ST   st;       double d;       char c2;       ST   st_arr[3];long l;     int  i_arr[9]; 
}ST2;
#pragma pack ()int main(void)
{printf("c:%zu i:%zu st:%zu d:%zu c2:%zu st_arr:%zu l:%zu i_arr:%zu\n", offsetof(ST2, c), offsetof(ST2, i), offsetof(ST2, st), offsetof(ST2, d), offsetof(ST2, c2), offsetof(ST2, st_arr), offsetof(ST2, l), offsetof(ST2, i_arr));return 0;
}

#pragma pack(n) 的n只能是2的次方幂,目前测试了,n的值可以为1、2、3、8、16,当设置32时会报错
使用指令#pragma pack (n),编译器将按照 n 个字节对齐。
使用指令#pragma pack (),编译器将取消自定义字节对齐方式。

#pragma pack (4)
typedef struct st
{char c;		// 起始地址 0; 结束地址 1int  i;		// 起始地址 4; 结束地址 8double d;	// 起始地址 8; 结束地址 16
}ST; // 结构体大小 16 字节typedef struct st2
{char c;         int  i;        ST   st;       double d;       char c2;       ST   st_arr[3];long l;     int  i_arr[9]; 
}ST2;
#pragma pack ()```go
#pragma pack (push)	// 保存现在的对齐参数 
#pragma pack (4)	// 将对齐参数改为 4
typedef struct st
{char c;		// 起始地址 0; 结束地址 1int  i;		// 起始地址 4; 结束地址 8double d;	// 起始地址 8; 结束地址 16
}ST; // 结构体大小 16 字节typedef struct st2
{char c;         int  i;        ST   st;       double d;       char c2;       ST   st_arr[3];long l;     int  i_arr[9]; 
}ST2;
#pragma pack (pop)	// 恢复之前保存的对齐参数
#pragma pack(push):保存当前对其方式到 packing stack;
#pragma pack(n):设置编译器按照 n 个字节对齐;
#pragma pack(pop):packing stack 出栈,并设置为对齐参数;## 宏参数转换为字符串常量#运算符```go
// preDel#.c
// gcc preDel#.c -E -o preDel#.i  //预编译
// gcc preDel#.c    // 编译
#include <stdio.h>
#define MY_STR(x) #x
#define SQR(x) printf("The square of "#x" is %d.\n", ((x)*(x)));
#define CALL(fun) (printf("CALL %s\n", #fun), fun())
void function()
{}
int main(void)
{printf("%s\n", MY_STR(Hello world!));SQR(8);CALL(function);	// 先打印函数名,再调用函数 return 0;
}
# 5 "preDel#.c" 2void function()
{}
int main(void)
{printf("%s\n", "Hello world!");printf("The square of ""8"" is %d.\n", ((8)*(8)));;(printf("CALL %s\n", "function"), function());return 0;
}

把宏参数跟一个字符串组合成一个符号

##运算符

// preDel##.c
// gcc preDel##.c -E -o preDel##.i  //预编译
// gcc preDel##.c    // 编译
#include <stdio.h>
#define __TXT_(name, ...) char g_txt_##name[]={__VA_ARGS__}
int main(void)
{__TXT_(str1, "this is str1");printf("str=[%s]\n",g_txt_str1);return 0;
}
# 2 "preDel##.c" 2int main(void)
{char g_txt_str1[]={"this is str1"};printf("str=[%s]\n",g_txt_str1);return 0;
}
http://www.hkea.cn/news/632025/

相关文章:

  • 施工企业分包工程会计与税务处理网站推广优化是什么意思
  • 网站建设开发的目的智能建站网站模板
  • 深圳市做网站的有那些公司沈阳百度推广哪家好
  • 用flash做网站教程个人发布信息免费推广平台
  • 网站主题页网站模板中心
  • 制作网页用什么进行页面布局seo优化方案案例
  • 国外经典平面设计网站做网站的费用
  • 学校营销型网站建设最新长尾关键词挖掘
  • 服务网络是什么意思上海关键词排名优化价格
  • 黑龙江做网站哪家好下载官方正版百度
  • 实时网站制作网站关键字优化
  • 商城网站要多少钱网页制作app
  • 做网站前端难吗个人网站
  • 怎么做亚马逊网站百度小说排行榜2020
  • 山东省建设文化传媒有限公司网站网站排名查询工具有哪些
  • 营销型企业网站有哪些网站建设找哪家好
  • 玉环做企业网站任何东西都能搜出来的软件
  • 无锡专业网站建设搜索优化seo
  • 成品软件源码网站大全百度权重10的网站
  • 深圳手机网站建设多少钱外链代发软件
  • 璧山集团网站建设互联网推广营销
  • 平面设计网址推荐全国seo搜索排名优化公司
  • 青岛公路建设集团网站东莞排名优化团队
  • 北京公司响应式网站建设价位太原网站建设开发
  • 龙岩网络诈骗通缉人员优化推广方案
  • 专做海外代购的网站设计案例网
  • 漳州网站设计东莞网站制作模板
  • 制作应用的软件成都排名seo公司
  • 北京专业企业网站建设俄罗斯搜索引擎入口 yandex
  • wordpress 怎么改中文网站推广优化价格