不可小看的extern "C"
项目中要用到一个模块。看了下该模块的用法,就依葫芦画瓢的搬到自己的代码里面来了。不过在编译的时候碰到了麻烦, 在程序链接的时候出错:“undefined reference to***",应该是因为没有包含相应的库文件吧。
于是比较了make file文件的写法,试图在我这边的makefile 中加上相应的库。但是折腾了半天,未解决。在网上搜了半天,没有点头绪,忽然一个帖子中的一句话提醒了我,“或者就是c++ 和c对同名的函数编译出的函数名字是不一样的。所以呢要extern c”。赶紧看我们的代码!果然,我引用的模块是用c写的,但是它的相应函数没用放在extern C{}内;而我这部分用的是C++。。。
于是在相应部位加上 #ifdef __cplusplus
extern "C" {
#endif
和#ifdef __cplusplus
}
#endif。链接通过了!
一个经验是为了c代码能在C++中方便的使用,一定要在c程序相应头文件中加上 extern "C"。
相关文档:
原文地址:http://www.henryxu.com/post/1.html
C++的格式化字符串经常用作格式化数字的输出、字符串合并和转换等等很多场合。
1. 格式化规定符
━━━━━━━━━━━━━━━━━━━━━━━━━━
符号 &nbs ......
格式: echo "\033[字背景颜色;字体颜色m字符串\033[0m"
例如:
echo "\033[41;36m something here \033[0m"
其中41的位置代表底色, 36的位置是代表字的颜色
那些ascii code 是对颜色调用的始末.
\033[ ; m …… \033[0m
字背景颜色范围:40----49
40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
4 ......
1、有符号变量与无符号变量值的变换
将有符号变量转换为无符号变量,注意负数的转换。
2、数值的交换
//使用临时变量
void Swap1(int &a, int &b)
{
int temp = a;
a = b;
&nbs ......
1.引言
本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。
许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样 ......
C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化 ......