随笔分类 - C/C++
摘要:http://www.cnblogs.com/ralphjzhang/archive/2011/12/02/2272671.html什么是 clang/llvm/libc++先说一下背景,以防有些同学对 clang/llvm/libc++ 是什么还没有概念:clang 是最近几年(在大财主苹果的支持下)发展得非常好的 C 家族语言 (包括C/C++/Obj-C/Obj-C++) 编译器前端,所谓前端,就是它可以认识 C/C++/Obj-C/ObjC++ 代码,并且把它转化成某种更接近机器指令的形式。理论上说,“某种形式”是语法树,但作为一个工具,clang 实际上会帮助你调用链接器生成可执行代
阅读全文
摘要:http://blog.csdn.net/cheekis/article/details/5299586http://www.ibm.com/developerworks/cn/java/j-jtp0114/index.html许多程序员在其整个开发生涯中都不曾使用定点或浮点数,可能的例外是,偶尔在计时测试或基准测试程序中会用到。Java语言和类库支持两类非整数类型 ― IEEE 754 浮点( float 和 double ,包装类(wrapper class)为 Float 和 Double ),以及任意精度的小数( java.math.BigDecimal )。在本月的 Java 理论和
阅读全文
摘要:http://www.cppblog.com/mzty/archive/2007/03/04/19163.htmlC++随笔分类列表(高级)C++随笔分类列表(高级):C++精华:61条面向对象的设计原则 http://www.cppblog.com/mzty/archive/2005/12/29/2247.htmlc++资源 http://www.cppblog.com/mzty/archive/2005/11/16/1148.htmlC++ Style and Technique FAQ http://www.cppblog.com/mzty/archive/2005/11/30/1437
阅读全文
摘要:http://www.oschina.net/question/28_53992在开发C++程序时,一般在吞吐量、并发、实时性上有较高的要求。设计C++程序时,总结起来可以从如下几点提高效率:并发异步缓存下面将我平常工作中遇到一些问题例举一二,其设计思想无非以上三点。1任务队列1.1 以生产者-消费者模型设计任务队列 生产者-消费者模型是人们非常熟悉的模型,比如在某个服务器程序中,当User数据被逻辑模块修改后,就产生一个更新数据库的任务(produce),投递给IO模块任务队列,IO模块从任务队列中取出任务执行sql操作(consume)。 设计通用的任务队列,示例代码如下:详细实现可参..
阅读全文
摘要:http://blog.csdn.net/lzx_bupt/article/details/6913151最近喜欢听大学听到的老歌,deutschland 德国世界杯时候流行的,据说不是主题曲但是比主题曲还要火。本篇进入难点了,mutex互斥锁概念,mutex=mutual exclusion的缩写,顺便说一句:以前老师都爱用缩写,也不跟同学说全称,这尼玛能理解深刻么!下文是用法:[cpp] view plaincopy#include<iostream>#include<pthread.h>//按规矩不能少usingnamespacestd;#defineNUM_TH
阅读全文
摘要:http://blog.csdn.net/lzx_bupt/article/details/6915117上篇说了下互斥量的用法,今儿说一下条件信号量的用法,这两种多线程变量的用法其实取决于情景,需要体会,见文:[cpp] view plaincopy#include<iostream>#include<pthread.h>//带头文件#include<stdio.h>usingnamespacestd;#defineBOUNDARY5inttasks=10;pthread_mutex_ttasks_mutex;//因为两个线程要修改一个全局变量,需要互斥量
阅读全文
摘要:http://blog.csdn.net/lzx_bupt/article/details/6913039经过前面的几个例子,是不是还少个线程创建时属性参数没有提到,见下文示例:[cpp] view plaincopy#include<iostream>#include<pthread.h>#include<iostream>#include<pthread.h>usingnamespacestd;#defineNUM_THREADS5void*say_hello(void*args){cout<<"hellointhrea
阅读全文
摘要:http://blog.csdn.net/lzx_bupt/article/details/6910597在基础一上思考,如果线程调用的函数是在一个类中怎么办?答案是将该函数写成静态成员函数,如下模式就很符合C++的写作模式:[cpp] view plaincopy#include<iostream>#include<pthread.h>usingnamespacestd;#defineNUM_THREADS5classHello{public:staticvoid*say_hello(void*args)//除了多了static关键字,别无异样;{cout<&l
阅读全文
摘要:http://blog.csdn.net/lzx_bupt/article/details/6910632线程会创建了,如何在线程调用函数时,传入参数呢?则应如下所示:[cpp] view plaincopy#include<iostream>#include<pthread.h>usingnamespacestd;#defineNUM_THREADS5void*say_hello(void*args){inti=*((int*)args);//对传入的参数进行强制类型转换,由无类型指针变为整形数指针,然后再读取;cout<<"helloin&qu
阅读全文
摘要:利用几篇文章简单记录下c与c++多线程编程基础入门的东西,每篇一个程序来记录,备忘。这些章节是由浅入深组织的,赖死狗!在注释中讲吧,佛楼米![cpp] view plaincopy#include<iostream>#include<pthread.h>//头文件是必须的,符合posix标准使程序可移植众多平台usingnamespacestd;#defineNUM_THREADS5void*say_hello(void*args)//线程的运行函数,必须void*,没说的表示返回通用指针、输入通用指针{cout<<"hello..."&
阅读全文
摘要:http://www.cnblogs.com/ruiyi1987/archive/2011/03/01/1967602.html最近一年都在用.net和Java,现在需要用C了。昨天看到博客园首页的麻省理工开放课程,就找来看看,正好复习一下。这门《C内存管理和C++面向对象编程》不是那种上来就变量,循环的千篇一律的讲法,而是重点讲C的核心机制如内存管理、指针等,这对于我这种有一定编程基础,但很久没用C的人比较适合。简明的plain English,加上生动有趣的描述,看起来即畅快,又令人深受启发。不得不感慨MIT的水平。下面是我整理的笔记(部分翻译自课件,部分自己的总结): 原版课件见课程官方
阅读全文
摘要:http://c.chinaitlab.com/news/765389.html1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言; 5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点...
阅读全文
摘要:http://blog.csdn.net/pongba/article/details/7911997过去的一年我在微软亚洲研究院做输入法,我们的产品叫“英库拼音输入法” (下载Beta版),如果你用过“英库词典”(现已更名为必应词典),应该知道“英库”这个名字(实际上我们的核心开发团队也有很大一部分来源于英库团队的老成员)。整个项目是微软亚洲研究院的自然语言处理组、互联网搜索与挖掘组和我们创新工程中心,以及微软中国Office商务软件部(MODC)多组合作的结果。至于我们的输入法有哪些创新的feature,以及这些feature背后的种种有趣故事… 本文暂不讨论。虽然整个过程中我也参与了很多
阅读全文
摘要:LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library分类: 小应用2011-04-02 11:37 1037人阅读 评论(0) 收藏 举报以前经常遇到这个警告信息,因为运行并没有什么问题,所以也没深究。但是耿耿于怀那个“ 0 个错误,0 个警告”的成功提示,在网上搜了一下。原来问题出在默认库的引用选择上。VS2008,项目——属性——配置属性——C/C++——代码生成:他有/MT,/MTd,/Md,/MDd四个选项,你必须让所有使用的库都使用相同的配置,否则就会有相应的提示,甚至可能会出现无法解析的函数。
阅读全文
摘要:1.The Art of Computer Programminguser posted image Author: Donald.E.Knuth Web site: http://www-cs-faculty.stanford.edu/~knuth/taocp.html Book Info: 这部书被誉为20世纪最重要的20部著作之一,与Einstein的<<相对论>>并列,是计算机科学领域的权威著作.全书共分 7卷,目前已经出版了3卷,被誉为"计算机程序设计理论的荷马史诗","可与牛顿的<<自然科学的数学原理>>
阅读全文
摘要:TCPL和D&E1:Bjarne Stroustrup, The C++ Programming Language (Special 3rd Edition)《C++ 程序设计语言(特别版)》,裘宗燕译,机械工业出版社,计算机科学丛书,¥85 另David Vandevoorde, C++ Solutions Companion to The C++ Programming Language《C++程序设计语言题解》,裘宗燕译,机械工业出版社,计算机科学丛书,¥232:Bjarne Stroustrup, The Design and Evolution of C++《C++ 语言的设
阅读全文
摘要:1.Math.h 问题:在LINUX下面编辑*.c文件,你虽然已经使用#include<math.h>,但在使用sqrt(), pow()函数还是会碰到问题。用GCC编译不带-lm选项时会得到这样的错误提示:undefined reference to `pow'如果你使用math.h里面的函数直接自己填充数值的话,是没有问题的。如pow(2, 3), 因为编译器编译的时候直接这个值计算出来了。但是函数里面带有变量的话,如:pow(2, i).编译的时候无法直接算出这个值的,编译的时候需要连接math.h。因此GCC编译带 -lm里面选项就会通过。参考资料:http://s
阅读全文
摘要:http://weblog.imthewan.com/2010/09/eclipse-cdt-multiple-target/在C/C++项目中有时候会需要在一个项目中包含多个main函数。在Visual Studio中,这种情况可以由一个解决方案下带多个项目来解决,但在Eclipse CDT中没有解决方案这样的概念。其实通过定制的Makefile,Eclipse CDT也可以很容易达到目的,对于习惯了Makefile的程序员来说可能觉得这样反而更灵活。默 认情况下,Eclipse CDT会为项目的Debug和Release配置都自动产生makefile,而且这个自动产生的makefile是会
阅读全文
摘要:http://blog.csdn.net/yang3wei/article/details/7624465一口气转了很多篇文章,本来最近事情很忙,是准备将在 eclipse 中搭建 c/C++ 开发环境的事情放在后面的,无奈还是没忍住,今天一不小心就把这事儿给办了~eclipse 是如此之优秀,我简直深陷其中无法自拔,现在,java,actionScript,c/C++,python 这些编程语言我都能够在eclipse中进行开发了。现在的心情,毫无疑问是非常之舒畅的。至于 objective-c,还是在 Xcode 里面老老实实地呆着吧,XCode 其实也很不错,和 eclipse 可谓是不
阅读全文
摘要:http://blog.csdn.net/taiheng05/article/details/57478870. 前期工作 在编译过程中可能出现的问题,先写在前面,以免编译失败后重新来过。下面假定 yourname 为你的实际用户名。 1 )在进行制作之前,必须确保系统里已经安装了 bison,flex 和 build-essential 工具。如果没有安装的话,在终端下执行如下代码: sudo apt-get install bison flex build-essential 2 ) gcc 版本过旧问题,实则因为较新 configure: error: *** Th...
阅读全文

浙公网安备 33010602011771号