Java调用C++ API/dll示例程序
完整的展示了Java调用C++ API/dll示例程序.
说明如下:
1. mrSocketAPICInt是准备被java调用的API
2. mrSocketAPIJavaInt是java调用C++ api的中间层
3. mrSocketAPIJavaIntDemo是java程序,展示与C++ api如何对接
boost自动编译脚本(各版本通用)
boost的自动编译脚本。能将boost自动编译成vs2008、vs2010的32位和64位版本库。最好能配合great3779的博文《编译boost (boost_1_52_0)》一起使用。兼容1_52_0之前的各版本。
sqlite_demo
sqlite数据库C++使用实例程序。包含了sqlite的源代码以及sqlite_expert的下载链接地址。
跨平台的模块时间统计套件(C++编写)
在编写时间密集型程序时,我们经常需要统计某些模块(或函数)的时间消耗。在以往实践中,这往往需要添加大量的测试代码,费时费力。正好我目前在公司开发的各类行情FeedHandler恰好也是时间密集型程序,也常常需要测试模块的时间消耗,因此我开发了一个小套件,极大简化了程序各模块的时间统计。
boost自动编译脚本
boost的自动编译脚本。能将boost自动编译成vs2008、vs2010的32位和64位版本库。最好能配合great3779的博文《编译boost (boost_1_49_0)》一起使用。
如何设计一个好的API并且为什么它会如此重要
设计一个API供第三方使用,想必是很多程序员都干过的事情。本书从多个角度出发,阐述了如何设计一个好的、优雅的API,并且为什么它会这么重要。希望对各位有所帮助。
win32.多线程程序设计
Multithreading非常重要。当支持多处理器的操作系统逐渐普及时,具备多处理器的个人计算机也逐渐普及。因此多线程程序设计是每一位技术人员都必须面对的技术。
提高C++性能的编程技术
如何提高C++性能是一个永恒的话题。本书关注强大和灵活性与良好性能和可伸缩性的结合,从而使两方面均达到最佳。具体主题包括临时对象、内存管理、模板、继承、虚函数、内联、引用计数、STL等。
一个C++跨平台的轻量级日志类
// 一个跨平台的轻量级日志类。此类在于展示:
// 1. 多线程写日志的思想。(写日志的动作不应对主程序产生较大影响)
// 2. 展示了跨平台的线程安全、信号通知等机制
// 3. 展示了一个高效的数据处理器
// 4. 展示了回调机制的使用
// 5. 展示了单例的使用
// 6. 间接展示了模板类的使用
基于Boost的数据处理器及线程安全类和信号量
1. 线程安全的双端队列,可用于多线程中传递数据,数据类型包括二进制流、简单类型、对象等。
2. 封装了boost的condition_variable,使其使用方法很接近Windows的Event。其优势在于能跨平台使用。
3. 封装了boost的mutex,能跨平台使用。
4. 封装了boost的mutex的scoped_lock,能跨平台使用。相对于CWnLock,其优势在于发生异常时能自动解锁,避免线程死锁。
5.
// 一个可用于线程间传递数据的类。此类的优势在于:
// 1. 跨平台
// 2. 将线程通信间比较难的线程安全、信号通知等机制均封装在对象中
// 3. 由于数据的传递完全依靠事件通知,因此数据的流转效率以及吞吐量均非常高(已经使用在公司海外股票FeedHandler上,吞吐量轻松突破每秒500,000个包)
// 4. 接口简单,使用非常方便(可参考BoostDemo程序)
// 使用方法
// CDataHandler是一个基类,使用时定义子类对其进行继承。
// 继承类重写DataThread和DataFunc方法(一般情况下仅需重写DataFunc方法即可)
程序崩溃自动重启以及将未捕获到的异常写退出栈
1. 程序崩溃后,让它能自动重启,继续运行。
2. 对崩溃的程序,在退出前,自动在控制台上输出其退出堆栈详情,以便调试。(适合自动测试程序)