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

高端网站建设设计公司有哪些免费个人网页制作网站

高端网站建设设计公司有哪些,免费个人网页制作网站,怎么样让网站正常解析,惠州企业建站系统第9课 - 函数重载分析#xff08;下#xff09; 1. 重载与指针 1.1 下面的函数指针将保存哪个函数的地址#xff1f; 1.2 函数重载遇上函数指针 将重载函数名赋值给函数指针时#xff1a; #xff08;1#xff09;根据重载规则挑选与函数指针参数列表一致的候选者 #…第9课 - 函数重载分析下 1. 重载与指针 1.1 下面的函数指针将保存哪个函数的地址      1.2 函数重载遇上函数指针     将重载函数名赋值给函数指针时   1根据重载规则挑选与函数指针参数列表一致的候选者   2严格匹配候选者的函数类型与函数指针的函数类型  这里不仅需要匹配参数类型还需要匹配返回值的类型不然编译会出错 1 #include stdio.h2 #include string.h3 4 int func(int a)5 {6 return a;7 }8 9 int func(int a, int b) 10 { 11 return a b; 12 } 13 14 int func(const char *s) 15 { 16 return strlen(s); 17 } 18 19 typedef int (*pFunc)(int); // 注意typedef后面的分号 20 21 int main(void) 22 { 23 int c 0; 24 pFunc p func; 25 26 c p(1); // 根据pFunc指针的类型选择对应的重载函数 27 28 printf(c %d\n, c); 29 30 return 0; 31 } 函数重载 VS 函数指针 1.3 注意事项   1函数重载必然发生在同一个作用域中   2编译器需要用参数列表或函数类型进行函数选择  【函数指针和参数的间接关系函数指针中包含了返回值和参数类型的信息】   3无法直接通过函数名得到重载函数的入口地址 2. C 和 C 的相互调用 2.1 C 和 C 的相互调用   1实际工程中C 和C 代码相互调用是不可避免的   2C 编译器能够兼容C 语言的编译方式   3C 编译器会优先使用C 编译的方式   4extern 关键字能强制让C 编译器进行C 方式的编译      【编程实验】C 调用C 函数 1 int add(int a, int b); add.h 1 #include add.h 2 3 //该文件的编译得到目标文件add.o 4 //gcc -c add.c 5 6 int add(int a, int b) 7 { 8 return a b; 9 } add.c 1 #include stdio.h2 3 //该文件的编译4 //g main.cpp add.o5 6 #ifdef __cplusplus7 extern C {8 #endif9 10 //C中以C的方式编译将add的函数名就是目标名 11 #include add.h 12 13 #ifdef __cplusplus 14 } 15 #endif 16 17 int main() 18 { 19 int c add(1, 2); 20 21 printf(c %d\n, c); //3 22 23 return 0; 24 } main.cpp 2.2 如何保证一段C代码只会以C的方式被编译   1__cplusplus 是 C 编译器内置的标准宏定义   2__cplusplus 的意义确保C代码以统一的C方式被编译成目标文件      【编程实验】C 调用 C 函数 其中的C 函数由gcc 编译 1 //该文件的编译得到目标文件add.o2 //g -c add.c3 4 #ifdef __cplusplus5 extern C {6 #endif7 8 //C中以C的方式编译add的函数名就是目标名9 int add(int a, int b); 10 11 #ifdef __cplusplus 12 } 13 #endif add.h 1 #include add.h2 3 //该文件的编译得到目标文件add.o4 //g -c add.c5 6 #ifdef __cplusplus7 extern C {8 #endif9 10 //C中以C的方式编译add的函数名就是目标名 11 int add(int a, int b) 12 { 13 return a b; 14 } 15 16 #ifdef __cplusplus 17 } 18 #endif add.cpp 1 #include stdio.h2 #include add.h3 //编译方式4 //gcc main.c add.o5 int main()6 {7 int c add(1, 2);8 9 printf(c %d\n, c); //3 10 11 return 0; 12 } main.c 【编程实验】C 调用 C 函数 其中的C 函数由g 编译   ①假设别人提供了编译好的cpp的头文件和.o目标文件但其中的函数是以C方式编译的很明显函数名是用C方式命名的。我们的C文件里不方便使用这个的函数名。   ②解决方案做一个C的封装层对其中的函数进行一个封装然后再用extern  c编译这些封装层中的函数最后就可以在C文件中使用了。     ★ 其他人编写的C代码其中的函数名是用C方式编译的但只提供的.h和.o文件 1 int add(int a, int b); add.h 1 #include add.h 2 3 //编译命令g -c add.cpp 4 5 int add(int a, int b) 6 { 7 return a b; 8 } add.cpp 1 int addEx(int a, int b); addEx.h 1 #include add.h 2 3 //编译命令 4 //g -c addEx.cpp 5 6 extern C int addEx(int a,int b) 7 { 8 return add(a, b); 9 } addEx.cpp 1 #include stdio.h2 #include addEx.h3 //编译命令4 //gcc main.c addEx.0 add.o5 6 int main()7 {8 int c addEx(1, 2);9 10 printf(c %d\n, c); //3 11 12 return 0; 13 } main.c主文件 2.3 注意事项   1C 编译器不能以C 的方式编译重载函数即如果在extern  C块里有两个同名的函数里则会编译失败。   2编译方式决定函数名被编译后的目标名      ⅰC 编译方式将函数名和参数列表编译成目标名      ⅱC 编译方式只将函数名作为目标名进行编译 3. 小结   1函数重载是C 对 C 的一个重要升级   2函数重载通过函数参数列表区分不同的同名参数   3extern关键字能够实现C 和 C 的相互调用   4编译方式决定符号表中的函数名的最终目标名  转载于:https://www.cnblogs.com/shiwenjie/p/7169678.html
http://www.zqtcl.cn/news/625255/

相关文章:

  • 百胜网站建设秀屿区建设局网站
  • 公司招聘做哪家网站建筑网站开发
  • 网站建设文案详情一条龙平台
  • 四站合一网站建设公司权威的手机网站制作
  • 自主网站建站上海金瑞建设集团网站
  • 阿里云网站建设方案书中山市公司企业网站的选择
  • 网站建设管理工作制度知名网站建设加盟合作
  • 网站定制公司推荐wordpress 插件 封面
  • 企业手机网站建设行情做外贸哪个网站比较好2017
  • 专业网站制作电话软件推广
  • 免费建站系统博客海外网站搭建
  • 网站建设与制作视频教学站酷网图片
  • 网站开发还有哪些万维网申请网站域名
  • 做网站费用上海判断网站做的好坏
  • 有了域名和空间怎么建网站哪些公司需要网页电商设计师
  • 网站开站备案深圳创业补贴10万
  • 圆通我做网站拉上海建站系统
  • 对于做网站有什么要求新闻发布会视频
  • 网站建设专业就业前景成都房产信息网 官网
  • 西宁网站建设公司排行网站查询域名ip解析
  • 柳州企业网站开发公司如何做网站首页图
  • 刷赞网站空间免费深圳网站制作公司排名
  • 网站内部优化策略获取网站的路径
  • 网站群 优点今天西安最新通告
  • 惠济免费网站建设设计制作的广告公司
  • 做一个网站建设装潢设计属于什么专业
  • 水处理网站源码注册销售公司流程和费用
  • 诸城网站建设0536s整站优化seo排名点击
  • 企业建设网站需注意哪些内容苏州网站怎么做
  • 浏览器打开网站网站推广软件工具