
C++/symbian/QT
turkeyzhou
某互联网公司,从事服务器后台开发。
展开
-
C++中的引用
我们知道,在c++中参数传递,除数组以外,都是默认进行的值传递,比如: Person oldP; Person newP=oldP; 在JAVA中,引用传递,如果我们修改了newP,则oldP也同时发生变化;而在c++中却不是,c++中。上述表达式隐式的调用了Person类的默认拷贝构造函数,进行了值拷贝,从而产生了一个克隆的Person对象; 此时JAVA中执行:原创 2010-03-13 17:28:00 · 793 阅读 · 0 评论 -
Linux环境进程间通信(五): 共享内存(上)
文档选项 将此页作为电子邮件发送级别: 初级郑彦兴 (mlinux@163.com), 国防科大攻读博士学位2003 年 5 月 01 日共享内存可以说是最有用的进程间通转载 2010-05-09 22:25:00 · 650 阅读 · 0 评论 -
IO - 同步,异步,阻塞,非阻塞
原文地址:http://blog.youkuaiyun.com/historyasamirror/archive/2009/06/15/4270633.aspx版权声明:本文所有版权皆为原作者所有 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO ,我相信这几个词困扰过很多人,更痛苦的是,如果你查阅原创 2010-05-10 09:29:00 · 841 阅读 · 0 评论 -
使用异步 I/O 大大提高应用程序的性能
学习何时以及如何使用 POSIX AIO API 文档选项 将此页作为电子邮件发送级别: 中级M. Tim Jones (mtj@mtjones.com), 顾问工程师, Emulex原创 2010-05-10 10:18:00 · 803 阅读 · 0 评论 -
POSIX 线程详解
一种支持内存共享的简捷工具 文档选项 将此页作为电子邮件发送级别: 初级Daniel Robbins (drobbins@gentoo.org), 总裁/CEO, Gentoo Tech原创 2010-05-11 01:06:00 · 677 阅读 · 0 评论 -
LINUX 定时器的实现方式
使用定时器的目的无非是为了周期性的执行某一任务,或者是到了一个指定时间去执行某一个任务。要达到这一目的,一般有两个常见的比较有效的方法。一个是用linux内部的三个定时器,另一个是用sleep, usleep函数让进程睡眠一段时间,其实,还有一个方法,那就是用gettimeofday, difftime等自己来计算时间间隔,然后时间到了就执行某一任务,但是这种方法效率低,所以不常用。 首先来原创 2010-05-12 00:21:00 · 2083 阅读 · 0 评论 -
子进程在复制父进程的信号处理方式
当一个进程调用f o r k时,其子进程继承父进程的信号处理方式。因为子进程在开始时复制了父进程存储图像,所以信号捕捉函数的地址在子进程中是有意义的; #include #include #include #include using namespace std;void sig_handle(int signo){ cout << "原创 2010-05-13 22:57:00 · 3438 阅读 · 0 评论 -
LINUX 下多线程编程
Linux下的多线程编程1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还原创 2010-05-18 13:36:00 · 1029 阅读 · 0 评论 -
纪一次TCP/IP连接关闭全程
TCP/IP众所周知在连接的时候,需要经历三次握手,而在终止的时候需要经历四次(有某些是以三次实现)握手才能“完美的”终止一次TCP/IP,因为TCP/IP的可靠性导致了一种互不信任的通信模式。故非此周折; TCP/IP三次握手过程。三次握手好理解。下面是TCP/IP关闭的四次握手流程图; 当一方发送close的时候,则向服务器发送一个FIN报文分节。得到服务器原创 2010-05-29 14:16:00 · 2733 阅读 · 0 评论 -
Linux/Unix环境下的make和makefile详解
无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员来说简直就是一场灾难。而make工具则可自动完成编译工作,并且可以只对程序员在转载 2010-05-31 13:50:00 · 877 阅读 · 0 评论 -
Core文件一二
1. core文件的简单介绍在一个程序崩溃时,它一般会在指定目录下生成一个core文件,core文件包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息等,可以帮助我们进行调试。2. 造成coredump的常见原因(1) 内存访问越界(2) 多线程程序使用了线程不安全的函数(3) 多线程读写的数据未加锁保护(4) 非法指针原创 2012-06-11 18:55:59 · 5034 阅读 · 1 评论 -
CDT 快捷键
1.Ctrl + Shift + R打开工程中的文件,支持通配符匹配2.Ctrl + E 打开编辑器中已经打开的文件,支持通配符匹配3.Ctrl + Shift + F格式化代码4.Alt + Shift + S打开常用的实现,构造函数等代码生成菜单5.Ctrl + O 搜索函数,支持正则表达式匹配6.F3 跳到代码定义,实现7.原创 2012-11-07 19:38:20 · 1624 阅读 · 0 评论 -
win64下Eclipse cdt环境搭建
配置环境:Win7 64步骤1 安装JDK或JRE 目的:提供Eclipse在windows下运行的基本环境 链接:官方网站 http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html 我选择64位最新版7u2: Win转载 2012-11-13 14:28:37 · 3663 阅读 · 0 评论 -
LINUX 内存映射
在常规IO中,我们一般都是认为和文件系统做IO操作总是无法避免的必须不厌其烦的write,read,而事实上这种方式在进行一些大文件操作的时候,显得十分的不便,下面这段代码即展示了如果将物理硬盘上的数据映射到内存中,我们像操作普通的内存一样对文件进行读写: #include #include #include #include #include #include原创 2010-05-09 22:18:00 · 790 阅读 · 0 评论 -
LINUX 进程间 信号
#include #include #include #include #include #include #include using namespace std;extern char **environ;void signal_handle(int signal_no){ cout << "sign:" <<signal_no原创 2010-05-09 14:32:00 · 692 阅读 · 0 评论 -
Symbian环境搭建之事必躬亲篇
前言:本文旨在在windows环境下搭建Symbian s60应用开发环境,并且进行了第一个程序的编译; 1) 安装ActivePerl-5[1].6.1,必须5.6.1.*的版本。版本过高或者过低都不可以,而在activeState上面,改版本只有businessEdition,是收费版本,但是网上可以下到; 2)安装jre,如果你是希望应用c++做S6原创 2010-03-15 10:22:00 · 678 阅读 · 0 评论 -
symbian S60 Qt 初体验
QT被Nokia收购以后,顿时风声鹊起,似乎Nokia的应用开发将采用Qt已成必然之势;固小体验一把在Symbian s60上完成自己的处女作; 在上一篇Symbian开发环境搭建之事必躬亲的基础上,下载了qt-symbian-opensource-4.6.0.exe,安装; 1)在carbide中,选择preference->qt,设置Qt安装bin目录; 2)创建原创 2010-03-15 10:44:00 · 952 阅读 · 0 评论 -
C++程序内存分配
C++程序在内存中主要分为以下4个分区:1、代码区:主要存放代码数据2、数据区:主要是 全局变量 静态变量 常量3、栈区: 主要是 局部变量,临时变量 返回值 参数 返回地址等4、堆区:new delete 产生以下部分转载:http://www.programfan.com/club/showpost.asp?id=158611&t=o 在C++中,内存分成5个区,他们分别是堆、原创 2010-03-20 08:50:00 · 721 阅读 · 0 评论 -
c++头文件
c++的初学者往往都对c++中的变量声明,变量定义,头文件,#include,#define一头雾水; 在c++中,编译的时候事实上是对每一个源代码文件进行的独立编译,独立编译之后,会连接起来,产生可运行的EXE文件,但是处于两个不同源文件的函数和类之间也许有产生一些相互调用,因此必须在当前文件中对要引用的函数有一个代理性的描述,以此来帮助编译器进行传参,返回值等等的验证和校验,如下:原创 2010-03-20 08:52:00 · 815 阅读 · 0 评论 -
Windows环境下利用Qt连接MYSQL数据库
在Windows下面利用QT开发数据库应用,如MYSQL,首先,我们必须利用源码编译MYSQL驱动库; 1)安装qt-sdk-win-opensource-2010.02.1.exe 此时,QT安装了QT Creator,假定目录为: E:/Qt/2010.02.1/,可以选择安装MingW; 此时,E:/Qt/2010.02.1/QT为Qt库的安装位置;原创 2010-03-25 22:04:00 · 8859 阅读 · 1 评论 -
C语言库——静态库、共享库
C语言库——静态库、共享库来源:顶嵌 我们在编写一个C语言程序的时候,经常会遇到好多重复或常用的部分,如果每次都重新编写固然是可以的,不过那样会大大降低工作效率,并且影响代码的可读性,更不利于后期的代码维护。我们可以把他们制作成相应的功能函数,使用时直接调用就会很方便,还可以进行后期的功能升级。 例如我要在一段代码中多次交换两个变量的值,我可以在代码中多次写入i=x;x=y;转载 2010-03-28 14:21:00 · 917 阅读 · 0 评论 -
Qt调用DLL
Windows下gcc以及Qt的DLL文件调用之总结 Windows下gcc以及Qt的DLL文件调用之总结 DLL与LIB的区别 :1.DLL是一个完整程序,其已经经过链接,即不存在同名引用,且有导出表,与导入表lib是一个代码集(也叫函数集)他没有链接,所以lib有冗余,当两个lib相链接时地址会重新建立,当然还有其它相关的不同,用lib.exe就知道了;2.在生成d转载 2010-03-28 16:49:00 · 10873 阅读 · 2 评论 -
C++编程杂谈之一:编译器
C++编程杂谈之一:编译器作者/xulion 网上有很多各种编译器的优劣比较的东西,我写这些东西并不是想支持或否定某些东西,因为我始终认为在编程的领域中,我只是一个初学者,并没有资格来评判什么(况且我也不想去评判),我只是想讲述一下个人学习道路上的感受。 学编程的一个必备的条件是你要有一个实践的平台--一个相应的编译器,没转载 2010-03-28 23:33:00 · 757 阅读 · 0 评论 -
dlopen API
介绍 如何使用dlopen API动态地加载C++函数和类,是Unix C++程序员经常碰到的问题。事实上,情况偶尔有些复杂,需要一些解释。这正是写这篇mini HOWTO的缘由。 理解这篇文档的前提是对C/C++语言中dlopen API有基本的了解。这篇HOWTO的维护链接是 http://www.isotton.com/howtos/C++-dlopen-mini-HOWTO/ 版权原创 2010-03-29 00:23:00 · 2809 阅读 · 1 评论 -
Windows编程 C++ DLL编程 学习笔记(一)静态链接库的创建和使用
要点: 1.预编译指令#pragma 2.关键字extern “C”;extern “C++” 3.库程序的运行和调试方法 4.创建一个静态链接库并使用 内容: 1.#pragma 宏:通知编译器,在编译文件前需要完成的一些动作,常用指令包括 #pragma message(“test”)在编译前输出test,#pragma comment预先链接一些东西至输出文件(e原创 2010-03-28 20:44:00 · 2664 阅读 · 1 评论 -
c++中的智能指针auto_ptr
auto_ptr有一个特性就是转移控制权是一个比较有意思的功能;智能指针在在进行拷贝操作或者赋值操作(=)的时候,都会把所包含的指针的控制权转移到新的变量上去,而变量会指向一个空指针; #include #include #include #include void getNOreturnPtr(auto_ptr p){ cout << *原创 2010-04-20 23:39:00 · 1239 阅读 · 0 评论 -
C++ 丰富多彩的库
标准库 标准库中提供了C++程序的基本设施。虽然C++标准库随着C++标准折腾了许多年,直到标准的出台才正式定型,但是在标准库的实现上却很令人欣慰得看到多种实现,并且已被实践证明为有工业级别强度的佳作。 1、 Dinkumware C++ Library 参考站点:http://www.dinkumware.comP.J. Plauger编写的高品质的标准库。P.J. Plauge原创 2010-04-21 13:58:00 · 1088 阅读 · 0 评论 -
7个示例科普CPU Cache
CPU cache一直是理解计算机体系架构的重要知识点,也是并发编程设计中的技术难点,而且相关参考资料如同过江之鲫,浩瀚繁星,阅之如临深渊,味同嚼蜡,三言两语难以入门。正好网上有人推荐了微软大牛Igor Ostrovsky一篇博文《漫游处理器缓存效应》,文章不仅仅用7个最简单的源码示例就将CPU cache的原理娓娓道来,还附加图表量化分析做数学上的佐证,个人感觉这种案例教学的切入方式绝对是俺的菜转载 2013-11-18 20:47:59 · 2488 阅读 · 0 评论