首页 › 分类存档 › 未分类

C/C++程序员必须熟练应用的开源项目

作为一个经验丰富的C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应用过, 但是回过头仔细想想,其实以前自己写过的这些代码,只能是在特定的项目或者特定的环境中使用, 对于自己来说, 在不同的项目中应用, 只需要复制代码, 改改也就可以了, 因为自己写的代码自己很熟悉。问题是, 你封装的这些库, 在给别人使用的时候, 别人用起来是否很方便, 跨平台方面是不是也很通用, 性能是不是足够的好, 是不是支持多线程, 功能是不是也足够强大,可以适用于各种不同的需求。如果你上面这些都做到了, 证明你在这个库上确实花费了一番功夫, 经过了持续的改进和优化。

在日常的开发中, 作为一个程序员, 很多东西已经没有必要再重新开发了, 可以直接拿过来使用, 毕竟21世纪都已经过了N年了。我们没有必要重新发明轮子(不可否认发明轮子的过程可以学到很多东西,我就是这么走过来的)。
继续阅读 »

如何成为一个牛逼的C/C++程序员?

这个题目的噱头太大,要真的写起来, 足够写一本书了。

本人是过来人, 结合自身的体会和大家交流一下,希望新人能少走弯路。

每个人的情况不一样,我下面的描述可能并不适合每一个看到这篇文章的人。
继续阅读 »

AES加密解密算法的C代码实现

AES 加密解密的原理我就不说了, 弟兄们自己上百度去查, 文章很多。

我这里只列出从网上获取的代码的实现, 我修改了一些, 可以很方便的使用到你的代码里面。

AES 比DES算法的强度更强。AES使用128位的加密密钥就足够了, 不需要使用更长的密钥。毕竟密钥太长浪费CPU资源。
继续阅读 »

Tortoisegit客户端拉取SVN库

说明:根据SVN库地址,拉取数据生成一个git本地代码库。用于svn迁移数据到git。
继续阅读 »

从西班牙去罗马的贸易商人-对OSI各个层次的理解

对OSI各个层次的理解

案例:从西班牙去罗马的贸易商人

这一部分是对OSI七层模型理解的重点部分,这个情境的创设,能够通过层层结构让学生理解为什么OSI目前设置为7个层次,并做出相应的解释。主要的方式 为通过类比法,用一个“西班牙去罗马的贸易商人”的情境设置使学生能体会到为什么要给网络分成这7个层次。主要的目的是让学生知道这个参考模型存在的意 义,但并不对每一层的详细功能做过多的介绍。
继续阅读 »

提高编程技能的11个建议

英文原文:How to Improve your Skills as a Programmer
不说废话,直接上步骤。
继续阅读 »

linux下宽字符串与多字节字符串之间的转换

最近写linux下的字幕下载软件时,遇到了中文宽字串和多字节串之间的转换问题,这问题困扰了我不久呀,现在终于开窍了。。。
我们知道(请看《Unicode、UTF-8、多字节字符、宽字符》):多字节字符串”你好\n”在源文件以及目标文件中,都是utf-8编码,一个英文字符1字节,一个汉字3字节。因为strlen是根据一字节一字符来计算字符个数的,所以strlen无法处理多字节字符串。
宽字符L”你好\n”在源文件中是utf-8编码,但在目标文件中是UCS编码的,一个字符占4字节。wstrlen便是依据每4字节为一字符,计算有多少字符。
继续阅读 »

Unicode、UTF-8、多字节字符、宽字符

Unicode、UTF-8
为了统一全世界各国语言文字的编码,ISO 制定
了ISO 10646 标准,也称为UCS(Universal Character Set)。UCS编码的长度是31位,可以表示2^31个字符。同时,另一组织制定了Unicode编码。后来ISO与这个组织联手统一了编码。所以Unicode与UCS是一样的。
有了字符编码,另一个问题就是这样的编码在计算机中怎么表示。现在最广泛用的是UTF-8,UTF是Unicode Transformation Format的缩写。UTF-8具有一下特点:
继续阅读 »

linux下telnet server的C实现

linux下telnet server的C实现
继续阅读 »

Linux C 编写的简易FTP程序

Linux C 编写的简易FTP程序

继续阅读 »