c&c++
文章平均质量分 65
jimmee
这个作者很懒,什么都没留下…
展开
-
eclipse CDT,Launch failed, Binary not found问题解决
ECLIPSE CDT,Launch failed, Binary not found问题解决:1. windowsWindow->Preferences->C/C++->New CDT project wizard->Makefile Project找到 Binary Parser 取消 Elf Parser 改选 PE Windows Parser。2. linux...原创 2011-07-22 23:41:17 · 371 阅读 · 0 评论 -
使用 GNU Libtool 创建库[转载]
介绍在不同的系统中建立动态链接库的方法有很大的差别,这主要是因为每个系统对动态链接库的看法和实现并不相同,以及编译器对动态链接库支持的选项也不太一样。对于开发人员,如果尝试将使用动态库的软件在这些系统之间移植,需要参考枯涩难懂的系统手册,以及修改相应的 Makefile,这一工作是乏味的,并且具有一定的难度。使用 GNU Libtool 可以容易的在不同的系统中建立动态链接库。它通过一...原创 2014-12-18 20:27:15 · 103 阅读 · 0 评论 -
gcc -D
gcc -D【gcc -D】-D name Predefine name as a macro, with definition 1. 通常debug和release版的区别就在于是否有DEBUG宏,DEBUG宏可以通过-D选项传递。如:-DDEBUG参考: 1、http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/Prepr...原创 2014-12-15 23:42:17 · 208 阅读 · 0 评论 -
字符集编码与 C/C++ 源文件字符编译乱弹[转载]
最近在看国际化编程 (i18n: internationalization) 的东西,也弄清楚了点字符集有关的一些问题,其实网上的一些牛人已经将字符集、Unicode 等相关的问题说的很清楚了,我在这里引用他们的总结并自己小结一下心得,并且实验一下在编译时,源代码自身的字符集与编译生成工具之间的问题。locale与字符集locale,中文有时翻译成“现场”,还不如叫英文的locale...原创 2014-12-11 23:39:05 · 182 阅读 · 0 评论 -
linux c时间操作相关函数
1. linux c的时间操作的函数关系图如下: 2. strftime时间格式化的说明如下: specifierReplaced byExample%aAbbreviated weekday name *Thu%AFull weekday name *Thursday%bAbbreviated month name *...2014-12-11 23:00:03 · 101 阅读 · 0 评论 -
c内存操作感悟(2)
不从分配的地址开始访问, 希望跳过一些字节, 怎么处理? 如下一段代码正确么(假设文件名为test.c)? #include <stdio.h>#include <stdlib.h>int main(void) { void *p = malloc(20); printf("%p\n", p); char *t = (char *...2014-12-10 20:52:35 · 99 阅读 · 0 评论 -
c内存操作感悟(1)
直接使用c, 有个好处, 自己可以完全控制内存啊,一切脑海中记住内存及指针, 就很容易知道操作是怎样. 1. 分配一段内存, 这段内存使用什么样的指针操作, 那么对应就是多少字节的操作, 也就是说, 看你怎么去解释这块内存了. 例如, 若分配给一个10个字节的类型, 如果用一个int类型的指针指向这块内存, 那么一次操作, 就是int的字节的大小, 如果一个struct指向...原创 2014-12-08 21:38:18 · 112 阅读 · 0 评论 -
C语言的异常机制--setjump()和longjump()实现【转载】
goto语句可以用于同一个函数内异常处理,不幸的是,goto是本地的,它只能跳到所在函数内部的标号上。为了解决这个限制,C函数库提供了setjmp()和longjmp()函数,它们分别承担非局部标号和goto作用。头文件<setjmp.h>申明了这些函数及同时所需的jmp_buf数据类型。 1.setjmp(jbuf)设置“jump”点,用正确的程序上下文填充jmp_bu...原创 2015-12-20 08:48:12 · 986 阅读 · 0 评论 -
[转载]Why size_t matters
http://www.embedded.com/electronics-blogs/programming-pointers/4026076/Why-size-t-matters Using size_t appropriately can improve the portability, efficiency, or readability of your code. Maybe...原创 2017-04-01 08:02:20 · 257 阅读 · 0 评论 -
【转载】RVO V.S. std::move
Return Value OptimizationReturn value optimization, simply RVO, is a compiler optimization technique that allows the compiler to construct the return value of a function at the call site. The techn...原创 2016-08-31 22:11:41 · 328 阅读 · 0 评论 -
epoll使用详解[转载]
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在lin...原创 2015-05-30 16:10:46 · 92 阅读 · 0 评论 -
java字节码常量池处理说明
1. 根据java的字节码格式说明,常量池中每一项的大小不一样的。运行时,若要通过数组索引获取具体的一项时,必须要经过一定的处理才能根据数组下标进行处理,具体的实现原理实际上就是空间换时间,可以参考kvm的实现: 每一项的定义,采用的是union的定义(会取最大的字节数进行内存分配) /* Each of these represents one entry in the c...2016-04-13 23:23:10 · 237 阅读 · 0 评论 -
从汇编角度看C++模板
1. 模板函数 模板函数定义的就是一种函数。既然是函数,那么就有输入数据和输出数据。和模板类的概念差不多,模板函数的初衷也是为了在函数操作上抽取共同的特性,屏蔽的是类型的不同和差异。 模板函数的反汇编示例: #include <stdio.h>#include <stdlib.h>te...原创 2015-05-24 17:22:54 · 162 阅读 · 0 评论 -
从c面向对象的实现理解c++的对象(二)
1. 类就可以看作一个struct,类的方法,可以理解为通过函数指针的方式实现的,类对象分配内存时,只分配成员变量的,函数指针并不需要分配额外的内存保存地址。2. c++中类的构造函数,就是进行内存分配(malloc),调用构造函数3. c++中类的析构函数,就时回收内存(free)4. c++是基于栈和全局数据分配内存的,如果是一个方法内创建的对象,就直接在栈上分配内存了。专...原创 2015-05-24 16:33:03 · 125 阅读 · 0 评论 -
c语言查询mysql示例
1.安装mysql-server,在Ubuntu 10.04下安装mysql-server-5.1,会自动安装mysql-client_5.1 sudo apt-get install mysql-server-5.12.C APIs包含在mysqlclient库文件中与MySQL的源代码一块发行,用于连接到数据库和执行数据库查询,因此需要安装libmysqlclient-dev su...2015-01-11 00:09:14 · 529 阅读 · 0 评论 -
c中实现utf8和gbk的互转
#include <iconv.h>#include <stdlib.h>#include <stdio.h>#include <unistd.h>#include <fcntl.h>#include <string.h>#include <sys/stat.h>int code2015-01-10 21:48:01 · 3421 阅读 · 0 评论 -
C数组和指针的注意点
1. 定义和声明一定要一致 例如: 文件1: int mango[100]; 文件2: extern int mango[]; 2. 当数组已经定义好之后,那么后续的操作,可以使用数组,也可以使用指针的方式 例如: char my_array[10]=”abcdefgh“, 可以使用数组的方式访问: ...原创 2014-06-12 23:14:20 · 199 阅读 · 0 评论 -
C 语言项目中.h文件和.c文件的关系[转载]
在编译器只认识.c(.cpp))文件,而不知道.h是何物的年代,那时的人们写了很多的.c(.cpp)文件,渐渐地,人们发现在很多.c(.cpp)文件中的声明语句就是相同的,但他们却不得不一个字一个字地重复地将这些内容敲入每个.c(.cpp)文件。但更为恐怖的是,当其中一个声明有变更时,就需要检查所有的.c(.cpp)文件。 于是人们将重复的部分提取出来,放在一个新文件里,然后在需要的.c...原创 2013-12-17 19:04:10 · 95 阅读 · 0 评论 -
从c面向对象的实现理解c++的对象(一)
1. 使用struct来保存数据2. 使用struct里面的函数指针指向相应的函数 #include <stdlib.h>#include <stdio.h>// 不完整的声明,方便后面函数指针类型变量的定义struct Person;typedef struct Person *PPerson;typedef void...2014-12-18 22:50:21 · 283 阅读 · 0 评论