c语言如何在一个cpp中使用另一个cpp的变量?
1、编译命令:g++-odome.so-shared-fPICdome.cpp,如果成功则会在当前目录下生成一个dome.so的文件。
2、splitpath_s在此作用域中尚未声明这个函数需要的头文件是:<stdlib.h>,这个函数是用来获取程序的路径,并对路径进行分解的。
3、在windows上编译时没有任何问题,但是到了centos上就出现了_splitpath_s在此作用域中尚未声明的错误提示,找了很久才发现原来linux下是没有_splitpath_s函数的,所以无法识别该函数。
4、‘fopen_s’在此作用域中尚未声明,这里之所以用fopen_s是因为在windows调试的时候提示不安全。
5、‘strlen’在此作用域中尚未声明,前面我声明了一个char[10]常量,然后通过strlen来获取该字符串的长度。
6、在windows中使用strlen只要调用了头文件#include<string>和空间名usingnamespacestd;即可使用,但是在Linux中需要添加头文件#include<string.h>才行。
在VS2010的VC++中如何编译、链接、运行、调试程序?
在vc2010中看不到像VC6.0显式的编译、连接按钮了。只有工具栏(启动调试)和菜单栏(测试)这些功能包含编译、链接、运行(调试)所有步骤,都一键完成。实际上这些功能是编译器使用以下工具实现的:编译器CL.EXE,将.c/.cpp源代码编译成目标代码.obj, 连接器LINK.EXE,将目标代码和库连接生成最终文件; 资源编译器RC.EXE(.rc)将资源编译,最终通过连接器存入最终文件. 注意编译准备:VCVARS32.bat拷贝到当前的workspace下在cmd下执行之后就可以 直接使用这些编译工具在cmd下编译. -----------------------------------------------------------例子:记事本编辑hello.c,在按照上面要求拷贝到当前目录下,打开cmd CL.EXE /c hello.c 只编译不连接 LINK.EXE hello.obj 用到的库文件,生成可执行文件.如: LINK.EXE hello.obj user32.lib RC.EXE Hello.rc -----------------------------------------CL.EXE,LINK.EXE,vcvars32.bat所在目录:假定VS2010使用默认安装路径C:\Program Files\Microsoft Visual Studio 10.0\VC\binrc.exe所在路径:C:\Program Files\Microsoft SDKs\Windows\v7.1A\Bin注意:(1)这些EXE文件在vs2010下可能存在多个不同路径,但都是一样的,可以通用(2)如果电脑上安装了不同的VS版本,这些文件会不同,注意区分。使用同一VS版本下的文件。