自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 程序员修炼之道摘要

2013-08-30 08:15:19 615

原创 Git双机同步

如果使用git init 初始化,当客户端仓库push内容时,服务器端仓库可以看到log,但是更新的文件不能显示,必须使用git reset --hard才能更新内容

2013-08-29 17:15:50 2442

原创 命令行分析dll(用于比较dll版本差异)

cd "C:\Users\nn\Desktop\FBS_dumpbin比較\JP_BIN"dumpbin /ALL .\ClhCom.dll > ClhCom.dll.logdumpbin /ALL .\CmnGop.dll > CmnGop.dll.logdumpbin /ALL .\cmpgen.dll > cmpgen.dll.log

2013-08-29 16:50:12 785

原创 ACE使用问题记录

最近重拾起了ACE,一方面为了学习和深入体会里面的设计,另一方面为了方便的跨平台,把有些应用快速的移植到linux下,算是自己练习linux的一个切入点。    没办法啊,现在都要求在linux下开发,windows客户端开发也并非我的强项(应该说是典型的弱项),工作中暂时没有从事linux开发的机会,只好自己来慢慢摸索了,制定几个方向:   1、把DSKMcs移植到linux下。 

2013-08-16 14:35:17 525

原创 关于 Virtual C++ 中Resources视图的string table

1、string table是将某个ID与某个字符串联系起来。在编写多语言版本的程序时,就可以利用这个功能。比如,你在编写程序的英文版时,可以将字符串“Open file Error!"与ID_ERROR_OPENFILE联系起来,编写中文版时,可以将“打开文件错误!”也与ID_ERROR_OPENFILE联系起来,那么在程序中就可以统一使用CString message;message.Lo

2011-12-20 15:02:30 728

原创 一些重要的命令

1、netstat -ano一般情况下我们喜欢使用netstat -an 但是加上一个o就可以显示进程ID,何乐而不为?详细信息见:netstat /?2、tasklist 显示当前运行的进程以及其ID,3、 wmic process 显示当前所有的进程详细信息还有一个显示子进程父进程关系的,以前找到但是忘记了,后续继续补充

2011-12-17 09:38:56 411

原创 修改Dll名

在集成系统开发过程中,经常会出现DLL名不一致的情况,可以考虑直接把DLL名字改掉,然后在该dll对应的lib里面把dll名字替换掉即可,比如DLL叫NetA.dll,需要变成NetB.dll,那么在lib里面把所有的NetA替换为NetB即可。      需要注意的是:这种方式进行DLL名修改,DLL名长度需要相同,不然会变成无效的lib的,当然,肯定也可以长度不同,不过可能要修改更

2011-12-01 09:25:53 1484

转载 书单--备忘

列一下我所认为的,你面试微软前必须要读的十本书:Code: The Hidden Language of Computer Hardware and Software (《编码的奥秘》)Computer System: A Programmer’s Approach (《深入理解计算机系统》) / Windows via C/C++ (《Windows核心编程》 / 《程序员的自我修养》C

2011-11-08 09:59:13 404

原创 windows下MAKE文件书写

一个小例子Hello.mk:hello.exe  : hello.objlink hello.objhello.obj : hello.ccl -chello.cclean : rm -rf hello.exe hello.obj

2011-09-20 10:18:44 358

原创 关于资源DLL的开发

http://msdn.microsoft.com/zh-cn/events/77d16yhw%28VS.80%29.aspxhttp://blog.csdn.net/zougangx/article/details/4500732上面两篇文章很不错,分别是讲 CWnd:

2011-08-31 18:57:50 468

原创 处理程序内部指针互指的问题

第一种方法:两个原则:1、使得一者的生存期大于另一个,主要是严格的控制释放时机的先后关系;2、释放时机严格早的一方可以访问释放实际严格晚的一方的内部成员,而不能反过来,亦即不能使用释放时机晚的内部成员指针访问对方的内部成员。。其他的一些控制都是浮云。。这两个保

2011-08-10 17:49:09 529

原创 From2011-1-11

1、学习琢磨算法、,不能停留在编程、技术的层次。。编程方面已经有了一定的基础,刻意的学习、提高已经没有大的价值2、运筹学。。3、数理统计学。。4、找一些成熟的算法来研究。。算!!!!5、黑客6、不可避免的会接触到boost、stl这些东西。。网络通信一律采用ACE

2011-01-11 13:27:00 329

原创 MARK关于临界区

<br />关于临界区,需要注意对于一个线程来说,它是可以重入的,其他线程不可操作

2010-12-31 16:28:00 365

原创 初始化com环境

<br />     一个 CoInitializeEx(NULL,COINIT_MULTITHREADED)设置成多线程,很好使,其他线程不用再初始化了,只需要在退出时调用CoUninitialize反初始化即可,不过需要注意不能用其他参数再初始化一次,会导致出错。<br />     单线程的话,首选AfxOleInit,默认初始化当前线程com环境,会帮助在退出时进行反初始化

2010-12-29 09:01:00 1727

原创 程序换机器不能运行问题

<br />困扰很久的我本机编译的程序不能在其他机器运行问题,结果证明是ado的问题,已经更改解决,微软搞的这个东西太不规范了,前后不兼容,都是2.81版本的,只是子版本不一致:2.81.1131和2.81.1132居然不兼容,前后组件的clsid都不一致,导致程序调用ado的时候找不到组件。。

2010-12-29 08:56:00 386

原创 关于sqlite写入操作

<br />   有关sqlite的高效和方便在这里就不用说了,确实是本地小数据量数据库的绝佳选择,需要注意的几点:<br />   1、编译版本存在线程版和非线程版,可以通过函数查询,也可以调用函数动态设置属性。<br />   2、sqlite 的查询是非常快的,但是更新和写入实在太慢了,几千条数据要好几分钟,这个可以通过事务来实现,但是因为事务的原因,开启事务的时候会导致其他线程的写入卡死,比较尴尬,可以考虑单线程执行数据写入操作或者使用全局事务来处理;

2010-12-24 09:07:00 893

原创 CWinThread::ExitInstance

<br />CWinThread::ExitInstance<br /><br />virtual int ExitInstance( );<br /><br />返回值:<br />是线程的退出码;值为0表示没有错误,值大于0表示有错误发生。通过调用::GetExitCodeThread.可以查询到该值。<br /><br />说明:<br />框架通过很少被重载的Run成员函数调用此函数以退出线程的这个实例;或者当调用InitInstance失败时,调用此函数。<br />除了在Run成员函数内之外,不

2010-12-16 18:21:00 1676

原创 近期

<br />工作上:<br />对于管控服务器业务有了基本的了解,大致情况理解还算可以。还剩下云台控制之类的东西。。<br />学习上:<br />加强了多线程编程的理解,之前的太模糊了,还有一些调试工具的使用,以前的效率太低了,一直使用日志的方式。。对于高手来说,这似乎是必须的,,,但是。。哥还不是,清高是没有意义的;<br /> <br />else:<br />见了一些做编码器和智能分析设备的人,这些应该算是高手了。。哈哈 虽然接触不多。。 

2010-07-16 11:22:00 415

原创 C++对象模型

<br />在C++有两种class data member:static和nonstatic以及三种class member function:static、nonstatic、virtual。那么类在机器中如何表现呢?也就是说,我们如何模塑出各种class data member和class member function呢?<br />C++对象模型参考的对象模型:<br />1、简单对象模型;<br />     一个object是一系列 的slots,每个slot是一个指针,指向class mem

2010-06-26 13:43:00 366

原创 关于默认构造函数

编译器合成默认构造函数的几种情况:1、存在“带有default constructor”的member class object;2、base class 带有default constructor;3、当前类或者基类带有virual function;4、“带有一个virtual base class”的class;以上的构造函数称为implicit nontrival default constructor;至于没有存在这四种情况又没有构造函数的class,我们说它拥有implicit trival d

2010-06-26 11:46:00 306

转载 多重继承和虚基类

<br />//派生类成员函数对基类成员函数的覆盖<br />#include"stdafx.h"<br />#include<iostream><br /><br />class A<br />{<br />public:<br />     void Show()<br />     {<br />         std::cout<<"A::Show/n";<br />     }<br />};<br /> <br />class B:public A<br />{<b

2010-06-26 11:35:00 331

原创 32位数字乘积算法实现(不能使用64位整形)

32位数字乘积算法实现(不能使用64位整形),返回要求数的高32位和低32位。。北京一行,确实见了不少东西,发现了自身的不少问题,例如算法方面、面向对象思想方面、C++语法方面。。等等,不一而足,当然整体上感觉自己还不错,体现很多细节理解上,下面是我最郁闷的一道题,在苏州浩辰软件(做autoCad的那家)面试的时候做的一道机试,最后没有弄出来,郁闷非常,(在那几乎面了一天,上午八点出发,下午7点才回到家,笔试,面试,面试,开发机试,算法机试,累个半死,其他都不错,就是这道题没搞定,当然最后也没有录取,可能不

2010-06-17 13:03:00 1161 2

原创 tcp连接意外断开补充

<br />假设是server端判断client的断开: <br /><br /> 1)client   关闭socket,   这是正常的情况,server段recv返回0,server就关闭socket就可以了。 <br /> 2)网络断开,需要keepalive的在线维持,tcp默认的的keepalive时间为7200秒,时间很长; <br />         也可以在tcp数据流中keepalive,自己在tcp流中定时在线维持包,不过这样要求tcp流可以拆 <br

2010-06-11 16:14:00 1381

转载 tcp协议连接建立和断开过程

转载之前:对于我来说,最后一段关于物理上的意外情况比较重要,之前百思而不得其解,原本以为是有解的TCP协议连接建立时3次握手的过程。简述TCP协议连接建立时3次握手的过程。根据TCP头部,说明下列3个包在连接建立过程中的次序.0020        00 50 83 aa 46 49 3e dd 33 96 37 a3 a0 12  ...P..FI>.3.7...0030   16 a0 c4 c0 00 00 02 04 05 b4 04 02 08 0a

2010-06-11 16:04:00 541

转载 C++位操作介绍

<br />很多基础的东西都忘记差不多了,昨天跟新公司的主管讨论一个加密工具的开发,他提到使用按位抑或是可逆运算,我还跟他争论(我把抑或理解成按位或了)。。。后来一身冷汗,这么基础的东西都忘记了,。。。枉我号称c程序员,可惜可惜啊<br /> <br /> <br />C++位操作包括两种:传统的C语言方式的位操作和C++中利用bitset容器的位操作     一、传统的C方式位操作:1.基本操作:   使用一个unsigned int变量来作为位容器。2.操作符:|   按位或操作符:result=exp

2010-06-05 09:12:00 811

转载 ORACLE8i数据库体系结构(说的很不错,全文转载)

    前言:    0.1 之所以选Oracle8i来讲是因为我对它很熟悉。    0.2 Oracle 8.1.5改用了和MS SQLServer7类似的mmc管理界面,很爽。    0.2 其实这幅图之所以这么复杂是因为俺对Java甚有好感,从Delphi的角度看只要下半截足够了。:-)    0.3

2010-04-13 10:20:00 409

原创 汇编语言学习笔记0401

1.1--1.10 小结:1、汇编是机器指令的助记符,一一对应;2、每种cpu都有自己的汇编指令集;3、cpu可以直接使用的信息在存储器中存放;4、在存储器中指令和数据没有任何区别,都是二进制数据;5、存储单元从0开始顺序编号;6、一个存储单元可以存储8bit,亦即一字节;7、每个cpu芯片都有很多管脚,这些管脚和总线相连,也可以说,这些管脚引出总线,一个cpu可以引出

2010-04-08 12:49:00 576

转载 linux之父炮轰C++ 有感

Linux之父Linus Torvalds为了Linux内核开发而专门打造的版本控制软件Git已经引起了业界的广泛关注。昨天,有一位Dmitry Kakurin老兄在查看了源代码之后,发现使用的是纯C而非C++,表示不可理解,他直言:“别拿可移植性说事儿,这是屁话(BS,bullshit)。“(此外,他还批评Git蛮力地直接操作文本,既啰嗦又易错,而且很难跟上高层代码逻辑。

2010-03-30 10:53:00 14844 2

转载 Linux内核学习计划

第一周:1.linux和unix相比有哪些特点? 2.内核编程和用户空间编程相比有哪些不同之处? 3.自己编译一下内核,你编译成功了么?如果不成功,有什么问题?使用你新编译的内核, 能顺利启动么?有什么问题? 4.linux内核源代码树中你能找到sg设备驱动是在那个文件中实现的么?sg是什么含意? 清楚地了解一下内核中源代码树的结构。第二周:   

2010-03-24 15:56:00 1389 1

转载 进程上下文和中断上下文

进程上下文和中断上下文是操作系统中很重要的两个概念,这两个概念在操作系统课程中不断被提及,是最经常接触、看上去很懂但又说不清楚到底怎么回事。造成这种局面的原因,可能是原来接触到的操作系统课程的教学总停留在一种浅层次的理论层面上,没有深入去研究。处理器总处于以下状态中的一种:1、内核态,运行于进程上下文,内核代表进程运行于内核空间;2、内核态,运行于中断上下文

2010-03-24 11:50:00 312

原创 linux 内核设计与实现相关

有待继续补充。。。。第一章 linux内核简介需要注意:内核开发其实并不难。第二章 从内核出发内核开发需要注意:1、没有c库,c库太大了;2、没有内存保护机制;3、不要轻易使用浮点数;4、可移植的重要性;5、同步和并发;疑问:编译和安装内核?必须在linux下么?其他机器安装了gcc编译器呢?能否编译安装?第三章 进程管理1、父子进程间的写时拷贝;

2010-03-23 17:40:00 390 1

转载 VC下利用Pro*C开发Oracle接口

本文介绍了使用Pro*C/C++在Visual C++环境下开发Oracle数据库接口程序的方法设计思路其实这样:首先通过VC建立一个工程,自动化建立MAKEFILE,UNIX需要自己写MAKEFILE。其次配置VC的环境,将PROC的.H,.LIB的路径加入DERECTIRY。写一个PC文件,即PROC文件。放到工程相应的目录下。然后把PC文件加入工程。使用PROCUI.EXE编

2010-03-17 16:38:00 382

转载 来自 COM 经验的八个教训

在日常工作中,我看到过许多由不同开发人员编写的 COM 代码。我为许多富于创造性的使用 COM 的工作方式感到惊讶,有一些使 COM 工作的巧妙代码可能连 Microsoft 都没有想到。同样,看到一些错误一次又一次地重犯,使我免不了心灰意懒。这些错误很多都与线程和安全有关,完全不成比例,而这也正是 COM 文档资料中最缺少的两个领域。如果不仔细计划,它们也是最可能遇到的并可能会绊住您的两个领

2010-03-02 15:07:00 443

转载 QT静态编译

装QT SDK 后,默认采用的是动态链接库的编译方式,如果需要发布程序,需要在可执行的exe文件中添加必须的动态链接库,然而有些动态链接库文件很大,这并不是我们想要的结果。最好的办法是提交一个静态链接的程序。但是安装的Qt是动态编译的,要生成静态的版本,就需要自己重新进行编译。首先需要修改位于/mkspecs/win32-g++下的qmake.conf,在QMAKE

2010-03-01 15:55:00 7230 2

原创 QT编译问题解决

build里面的example,结果在compile output里面竟然出现很多如下的信息:Quote:In file included from d:/Program Files/Microsoft Visual Studio/VC98/include/yvals.h:4,from d:/Program Files/Microsoft Visual Studio/VC98/incl

2010-02-27 09:52:00 988

原创 Shell编程基础

 Shell编程基础本文作者:Leal 授权许可: 创作共享协议 GNU自由文档许可证 编辑人员:FireHare, Dbzhang800  我们可以使用任意一种文字编辑器,比如gedit、kedit、emacs、vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行): # !/bin/sh...符号#!用来告诉系统执行该脚本的程序,本例使用/bin/s

2009-11-10 10:31:00 297

转载 Linux中tty pty pts 概念区别

 基本概念:1> tty(终端设备的统称):tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。2> pty(虚拟终端):但是如果我们远程telnet到主机或使用xterm

2009-11-06 10:33:00 362

原创 unix高级环境编程(apue)编译时的err_sys和err_quit错误的解决办法最终版

apue下载编译:http://blog.csdn.net/dycwahaha/archive/2008/04/17/2300938.aspx apue编译成功放到指定文件夹之后之后,程序中添加apue.h并引用其中内容,在eclipse中编译,出现err_sys和err_quit  找不到定义的情况,在网上搜索问题原因和对策,找到以下说法:http://blog.csdn.net/j

2009-10-30 16:07:00 4426 2

Ice-3.7.2.msi

ICE最新安装包(3.7.2),2019年6月最新版,官方发布。

2019-08-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除