技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

< 2025年6月 >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
6 7 8 9 10 11 12

统计

上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 50 下一页

2013年8月6日 #

云风:我所偏爱的C语言面向对象编程范式

摘要: 面向对象编程不是银弹。大部分场合,我对面向对象的使用非常谨慎,能不用则不用。相关的讨论就不展开了。但是,某些场合下,采用面向对象的确是比较好的方案。比如 UI 框架,又比如 3d 渲染引擎中的场景管理。C 语言对面向对象编程并没有原生支持,但没有原生支持并不等于不适合用 C 写面向对象程序。反而,我们对具体实现方式有更多的选择。大部分用 C 写面向对象程序的程序员受 C++ 影响颇深。企图用宏模拟出一个常见 C++ 编译器已经实现的对象模型。于我愚见,这并不是一个好的方向。C++ 的对象模型,本质上是为了追求实现层的性能,并直接体现出来。就有如在 C++ 中被滥用的 inline ,的确有效, 阅读全文

posted @ 2013-08-06 09:29 codestyle 阅读(658) 评论(0) 推荐(0)

2013年8月1日 #

gtest编译小结(ubuntu 12.10 , gtest 1.6.0)

摘要: 1 下载源码,解压之当前用户的主目录(~/)2 进入make目录,执行make命令cd ~/gtest-1.6.0/makemake3 在ubuntu里编译出错,提示找不到lthread库。修改Makefile,在文件结尾:sample1_unittest : sample1.o sample1_unittest.o gtest_main.a $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@修改成(-lpthread 移到命令末尾):sample1_unittest : sample1.o sample1_unittest.o gtest... 阅读全文

posted @ 2013-08-01 18:29 codestyle 阅读(499) 评论(0) 推荐(0)

如何用googletest写单元测试

摘要: http://www.uml.org.cn/c++/201203293.aspgoogletest是一个用来写C++单元测试的框架,它是跨平台的,可应用在windows、linux、Mac等OS平台上。下面,我来说明如何使用最新的1.6版本gtest写自己的单元测试。本文包括以下几部分:1、获取并编译googletest(以下简称为gtest);2、如何编写单元测试用例;3、如何执行单元测试。4、google test内部是如何执行我们的单元测试用例的。1. 获取并编译gtestgtest试图跨平台,理论上,它就应该提供多个版本的binary包。但事实上,gtest只提供源码和相应平台的编译方 阅读全文

posted @ 2013-08-01 17:37 codestyle 阅读(510) 评论(0) 推荐(0)

如何管理和优化日益增长的代码复杂度?

摘要: http://www.csdn.net/article/2013-07-30/2816401-managing-code-complexityPlumbr研发管理优化摘要:随着时间的推移,软件项目会变得越来越大,项目中组件之间的依赖关系也会变得越来越错综复杂。那么如何对代码的复杂度进行管理并优化呢?Plumbr项目团队的做法或许可以为你提供一些参考。随着时间的推移,软件项目会变得越来越大,项目中组件之间的依赖关系也会变得越来越错综复杂,项目的维护也会变得越来越困难。Plumbr(Java内存泄露检测器)开发团队的一篇博文揭示他们这个项目在开发过程中,其代码复杂性是如何演变的。本文中的这些代码依 阅读全文

posted @ 2013-08-01 12:14 codestyle 阅读(566) 评论(0) 推荐(0)

groupcache-readme-go

摘要: http://www.csdn.net/article/2013-07-30/2816399-groupcache-readme-go 阅读全文

posted @ 2013-08-01 09:29 codestyle 阅读(186) 评论(0) 推荐(0)

2013年7月31日 #

shell脚本的桩

摘要: 项目代码:alias book_search="/usr/local/mysql/bin/mysql -h 172.18.12.202 -uppstat -pstatpp book_search"echo "select id,cpname from search_cp_infomation where hide=1;" | book_search -s > $cpFile使用打桩代码alias book_search="/home/lishujun/src/mockobject/book_search"echo "s 阅读全文

posted @ 2013-07-31 18:12 codestyle 阅读(378) 评论(0) 推荐(0)

2013年7月30日 #

软件的模块化开发

摘要: http://www.cnblogs.com/snandy/p/3189379.html什么是模块化模块化这个词最早出现在研究工程设计中的《Design Rules》,这本探路性质的书中。其后模块化原则还只是作为计算机科学的理论,尚不是工程实践。此时硬件的模块化一直是工程技术的基石之一。如标准螺纹、汽车组件、计算机硬件组件等。软件模块化的原则也是随着软件的复杂性诞生的。从开始的机器码、子程序划分、库、框架、再到分布在成千上万公里的互联网上主机上的程序库。模块化是解决软件复杂性的重要方法之一。模块化以分治法为依据,但是否意味着我们把软件无限制的细分下去。事实上当分割过细,模块总数增多,每个模块的 阅读全文

posted @ 2013-07-30 15:12 codestyle 阅读(380) 评论(0) 推荐(0)

ldd命令--查看命令依赖的库文件

摘要: .在制作自己的发行版时经常需要判断某条命令需要哪些共享库文件的支持,以确保指定的命令在独立的系统内可以可靠的运行;在Linux环境下通过ldd命令即可实现,在终端下执行:ldd /bin/ls //ldd命令通常使用"-v"或"--verbose"选项来显示所依赖的动态连接库的尽可能的详细信息。即可得到/bin/ls命令的相关共享库文件列表:libtermcap.so.2 => /lib/libtermcap.so.2 (0x4001c000) libc.so.6 => /lib/libc.so.6 (0x40020000) /lib/ld- 阅读全文

posted @ 2013-07-30 13:42 codestyle 阅读(3647) 评论(0) 推荐(0)

链接

摘要: http://littlepig3056.blog.163.com/blog/static/180758353201152992934358/编译器在链接时优先在环境变量$LD_LIBRARY_PATH指定的路径下寻找,如果多个路径下都有需要的动态链接库,则且优先使用靠前的路径下的动态链接库一般默认的优先级是: /usr/local/lib /usr/lib /lib /lib64(实际上是一个链接符,指向/lib)strings /home/lxn/lib/libxul.so | grep keywords 使用模式识别出libxul.so中的字符串,并找出包含keywords的 阅读全文

posted @ 2013-07-30 13:29 codestyle 阅读(186) 评论(0) 推荐(0)

LDD命令--可执行文件依赖的库出现错误时

摘要: http://littlepig3056.blog.163.com/blog/static/180758353201212751814134/ldd 查看可执行文件依赖的库,结果会列出依赖的库名及依赖库所在路径ldd命令执行时,从环境变量LD_LIBRARY_PATH查找可执行文件链接的库。所以要让可执行文件链接到正确的库有两种方式:1. 编写setenv.sh脚本设置环境变量LD_LIBRARY_PATH 采用这种方式,要求每次启动新会话后,都必须执行source setenv.sh命令行,使得设置对于当前会话生效。2. 修改用户根目录的.bash_profile文件export LD_L. 阅读全文

posted @ 2013-07-30 13:21 codestyle 阅读(1563) 评论(0) 推荐(0)

上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 50 下一页
点击右上角即可分享
微信分享提示