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

商业网站建设大纲极简wordpress模板

商业网站建设大纲,极简wordpress模板,湘潭自适应网站建设 磐石网络,在线制作广告图片学了就忘#xff0c;忘了再学。有时感觉自己几乎就是一个跳梁小丑。没有办法#xff0c;只好多记些笔记。本文版权归作者和博客园共有FROM#xff1a; http://www.cnblogs.com/graphics/archive/2010/12/24/1916343.html经常看到如下代码#xff1a;#ifdef _cplusplusexter…学了就忘忘了再学。有时感觉自己几乎就是一个跳梁小丑。没有办法只好多记些笔记。本文版权归作者和博客园共有FROM http://www.cnblogs.com/graphics/archive/2010/12/24/1916343.html经常看到如下代码#ifdef _cplusplusextern C {#endif#include XXX.h#ifdef _cplusplus}#endif解释extern C的作用是告诉C编译器下面的代码按照C的方式进行编译说白了不要对这些函数进行名字重整function name mangling。通常在C程序中使用C函数或者模块时需要用到这个功能。原因C为了支持函数重载将编译后的函数名做了重整mangled name比如下面的函数int add(int a, int b) ;在C中编译完的名字就是add而在C中编译完就变成了add_int_int(举例而已实际因编译器而异)这样在函数名字后面加上参数的类型就可以区分不同的重载函数了比如还有另一个函数float add(float a, float b) ;在C中它会被编译成add_float_float这就是C区分重载函数的机制可是问题也随之而来C进行名字重整而C不进行重整。当C程序引用C的函数时它会按照重整后的名字去目标文件.obj中去寻找对应的函数而目标文件中存放的却是C版本的函数名字对不上所以根本找不到怎么办呢这就是extern “C” 存在的一个原因它告诉C包含在extern “C”{ //…}块中的东西是C版本的,你编译的时候不要进行名字重整否则你链接的时候就无法找到我于是上面的代码也就不难理解了光说不练是扯淡上代码我们简单的定义一个C头文件和实现文件只包含一个add函数CClass.h 内容如下#ifndef __CClass_H__#define __CClass_H__extern int add(int a, int b) ;#endif // end __CClass_H__CClass.c 内容如下#include CClass.hint add(int a, int b){return a b ;}下面我们用一个C程序来引用这个C文件main.cpp 内容如下#define _cplusplus // 为了测试强加一句#ifdef _cplusplusextern C {#endif#include CClass.h#ifdef _cplusplus}#endif#include iostreamusing namespace std ;int main(void){int result add(1, 2) ;cout result endl ;system(pause) ;return 0 ;}如果没有#include iostream之前那些代码而只是仅仅包含#include CClass.h一句你就会得到下面的错误error LNK2019:unresolved external symbol int __cdecl add(int,int) (?addYAHHHZ) referenced in function _main显然这是一个链接错误因为找不到对应的函数定义当然你也可以简写成下面的形式直接在extern “C”块中包含你想调用的函数extern C{int add(int a, int b) ;};#include iostreamusing namespace std ;int main(void){int result add(1, 2) ;cout result endl ;system(pause) ;return 0 ;}这在C程序中是没有问题的但是如果是在C程序中则会出现编译错误因为C中不允许extern “C”出现另一个需要extern “C”的场合是当C程序调用C的东西时按照如下步骤做即可1. 在C的.h文件中用extern “C”{}声明将被C程序使用的函数2. 在C的.cpp文件中实现上面的函数3. 在.c文件中用extern声明要使用的C函数4. 使用即可注意切不可在.c文件中包含C的.h文件那样编译无法通过上代码CPPClass.h中声明add函数#ifndef __CPPClass_H__#define __CPPClass_H__extern C{int add(int a, int b) ;};#endif // end __CPPClass_H__CPPClass.cpp实现add函数#include CPPClass.hint add(int a, int b){return a b ;}main.c 内容如下#include stdio.h//#include CPPClass.h // 不要包含头文件,否则编译不过extern int add(int a, int b) ; // 只需显示声明要调用的函数即可int main(void){int result add(1, 2) ; //使用函数printf(%d, result) ;return 0 ;}
http://www.sadfv.cn/news/396376/

相关文章:

  • 网站设计建设介绍海南三亚注册公司需要什么条件
  • 月子中心网站设计广告公司简称
  • 营销型门户网站建设佛山智能模板建站
  • 南昌公司做网站定西企业网站制作
  • 网站做图尺寸大小各个做网站的有什么区别
  • 网站的栏目结构简图怎么做wordpress 静态发布
  • 素米高端品牌网站建设松原网站推广
  • 专业的网站建设设计价格wordpress .htaccess 规则
  • 做外汇门户网站c 做彩票网站
  • 苏州招聘网站开发电销系统哪个好
  • 网站备案有哪些费用海口市住房和城乡建设局网站
  • 企业做网站需要什么手续吗wordpress提醒用户注册
  • 高端电子商务网站建设上海注册公司收费
  • 能看任何网站的浏览器asp.net 制作网站开发
  • 省直部门门户网站建设企业所得税如何征收
  • 网站制作规划设计内容昆明建设厅培训网站
  • 网站推广目标什么意思wordpress安卓版5
  • 全国网站设计排名企业培训课程名称
  • ps做网站头部的图厦门高端模板建站
  • 网站代码检查凡科企业邮箱登录入口
  • 广州木马网站建设公司上海都市建筑设计有限公司
  • 免费建站网站群泰州模板自助建站
  • 网站浏览器兼容性问题吗网址大全123上网导航
  • 查询网站所有死链接零代码开发
  • 专做皮具的网站网站自助平台
  • 苏州网站制作价格网站被k的迹象
  • 网站建设注意事项知乎网站建设与网络营销的关系
  • 天津市建设工程造价管理协会网站厦门网站模板
  • 河南浪博网站建设响应式网站
  • 不知此网站做男人也wordpress支付回调