
程序笔记本
timebomb
这个作者很懒,什么都没留下…
展开
-
如何解决Win11任务栏窗口合并问题
升级到Win11以后还是有一些不习惯,尤其是对开发者来说,任务栏多窗口合并,无法分开,在打开众多窗口或者文档的情况下,尤其麻烦,搜索也没有看到解决方案,看似官方回复并不想解决此问题,实在汗颜。介绍了一些解决办法,目前我采用的是方案3,毕竟开源,不需要付费,使用还算不错。有需要的也可以尝试,就免去了降级到Win10的麻烦。...原创 2022-08-29 09:22:32 · 11171 阅读 · 1 评论 -
继承的几点注意事项(随着自己的学习更新)
1、并不是继承所有: .........2、基于原创 2011-08-24 15:42:00 · 1758 阅读 · 0 评论 -
标准模板库STL学习总结
标准模板库就是类与函数模板的大集合。STL共有6种组件:容器,容器适配器,迭代器,算法,函数对象和函数适配器。1、容器:容器是用来存储和组织其他对象的对象。STL容器类的模板在标准头文件中定义。主要如下所示①序列容器基本的序列容器是上面图中的前三类:原创 2011-08-24 20:25:37 · 25612 阅读 · 4 评论 -
MFC框架下的程序设计
1、首先解释一下:MFC(Microsoft Foundation class):微软基础类库。2、MFC AppWizard(wizard:向导范例的意思)顾名思义就是程序设计向导我们新建工程选择MFC AppWizard,就会建好一个vs已经为我们初始化好的窗口界面,原创 2010-12-15 16:41:00 · 1100 阅读 · 0 评论 -
C++编程中的消息机制
消息映射:BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()宏定义这个消息映射的边界。BEGIN_MESSAGE_MAP()宏有两个参数,第一个参数为定义消息映射的当前类名,第二个参数提供一个到该基类的连接,以查找消息处理程序。如果在定义消息映射的原创 2011-08-27 16:34:38 · 9814 阅读 · 1 评论 -
C++对象构造函数与析构函数的调用时间问题
今天看书忽然对这个地方有点模糊,尤其是析构函数在调用默认的析构函数和用户自己覆写的析构函数的时候有点意识模糊呢。写段代码总结下#include using namespace std;class Box{private: double length;pub原创 2011-08-24 09:57:55 · 18969 阅读 · 37 评论 -
动态创建多维数组和释放的注意事项
自己写了一个HMM前向算法,发现了好多的问题,这里把多维数组的创建以及销毁问题进行解释,希望可以帮助到有需要的人还有我自己,日后可能用的到。创建:void mallocCalcSpace(int N, int T){ //创建二维数组alpha[N][T] double** alpha = new double*[N]; for(int i=0; i<N; i原创 2011-11-14 21:20:06 · 4810 阅读 · 1 评论 -
ubuntu11.10下opencv的各种问题小汇总
1、opencv2.2编译不成功问题:make的时候出现error: 'ptrdiff_t' does not name a type造成编译错误,这个也是我搞来很多次没有成功只好选择系统库中自带的opencv。具体原因是没有加一个命名空间。具体可以见:http://web.archiveorange.com/archive/v/b6fbFdu0fh9uQC9aVdpF,只要在cxcore原创 2011-11-15 16:40:32 · 10315 阅读 · 2 评论 -
quagga线程机制概述
从别地转过来的,感觉挺有帮助,对自己理解系统进程线程的调用很好原文地址:点击打开链接A) quagga线程机制概述quagga中的线程是分队列调度的,每个队列以一个链表的方式实现。线程队列可以分成5个队列:event、timer、ready、read、write。队列的优先级由高到低排列。但是,read和write队列并不参与到优先级的排列中,实际操作时,如果rea转载 2012-02-20 14:47:17 · 8275 阅读 · 0 评论 -
进程笔记1:子进程与父进程
先这几天搞多进程以及多线程通信,怎奈以前没有深接触,所以这里总结一下。#include #include #include int glob = 6;char buf[] = "a write to stdout/n"; int main(){ int var; pid_t pid; var = 88; fp原创 2012-02-20 17:07:05 · 14180 阅读 · 0 评论 -
进程笔记2:进程之间的通信(UNIX域套接字socket)
socket的地址数据结构根据不同的系统以及网络环境有不同形式。为了使不同格式地址能够被传入套接字函数,必须强制将地址结构转换为:struct sockaddr{ sa_family_t sa_family; /* address family*/ char sa_data[]; /* variable-length address*/ ...};套接原创 2012-02-20 17:45:16 · 12636 阅读 · 1 评论 -
进程笔记3:进程间的通信(利用socket的一般方式)
socket主要包含通信协议,本地协议地址,本地主机端口,远端主机地址,远端主机端口。1、建立socketint socket(int domain, int type, int protocol);domain:使用的协议族,通常为PF_INET,表示互联网协议族type:指定socket类型SOCKET_STREAM(面向连接的流式socket)SOCKET_DGRAM原创 2012-03-12 13:32:52 · 13914 阅读 · 2 评论 -
sourceinsight 4.0 编码乱码修改
4.0发布的真实激动人心,全新的界面,尤其是UTF-8等字符集的兼容,提升了一大截。但是导入我们的项目时,还是出现中文乱码问题,查询各大网站介绍,主要分两种 1、GB2312或者GBK编码的,建议是用3.5;kidding me? 2、在4.0界面File->Reload as Encoding…->选择gb2312;但是这种只能对当前文件有效,如何一劳永逸呢?经过尝试,在Options->Pr原创 2017-05-27 09:52:10 · 41194 阅读 · 16 评论 -
模板(函数模板和类模板基本类似,类模板的定义需要注意)
1. 模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。//函数1.转载 2010-11-14 13:26:00 · 2939 阅读 · 1 评论 -
Android 离线安装宝典
单单那些所有组件的就有2G,所以如果你的网络不好,那么找个网络好的下载完成后用这里的方式安装就好了不过注意,放到temp文件夹下程序使用完成会自动删除,所以请及时保存。自己下载各个安装文件:红线标出的然后用迅雷下载所需要的其他组件htt原创 2011-09-01 16:40:49 · 3900 阅读 · 3 评论 -
c语言获取时间函数整理
//方案— 优点:仅使用C标准库;缺点:只能精确到秒级#include #include int main( void ) { time_t t = time(0); char tmp[64]; strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z",localtime(&t) ); puts( tmp ); return 0; }size_t strftime(char *strDest, size_t maxs转载 2010-09-30 11:54:00 · 1220 阅读 · 0 评论 -
局部变量、全局变量、堆、堆栈、静态和全局
从网上看来的,算是舶来品啦:局部变量、全局变量、堆、堆栈、静态和全局 一般全局变量存放在数据区,局部变量存放在栈区, 动态变量存放在堆区,函数代码放在代码区。 --------------------------------------------------------------- 栈区是普通的栈数据结构,遵循LIFO后进先出的规则,局部变量安排在那里是ASM时就规定的,这样可以在一个函数结束后平衡堆栈,操作简单,效率高 堆(动态区)在这里应当叫堆栈(不要和数据结构中的堆搞原创 2010-10-18 10:14:00 · 744 阅读 · 0 评论 -
意外的收获:printf的打印顺序!!!
关于这个指针问题: #include struct ks { int a; int *b; } s[4], *p; main() { int n = 1,j ; printf("/n"); for (j = 0; j a=1 p++; //p->a=3 printf("%d,%d/n", (++p)->a, (p++)->a); } 由于printf的运行顺序是从右向左运行,先执行(p++)->a,而且右++是在取值后原创 2009-05-08 02:16:00 · 1701 阅读 · 2 评论 -
链表操作--创建--删除--插入--打印
//链表的综合操作!!! #include #include struct student * creat(void); void print(struct student *head); struct student * del(struct student * head ,long num); struct student * insert(struct student *head,struct student *stud); int n; struct原创 2010-10-18 10:15:00 · 1171 阅读 · 0 评论 -
typedef结合结构做的洗牌发牌
//高性能洗牌发牌游戏算法。利用结构类型 #include #include #include struct card { const char *face; const char *suit; }; typedef struct card Card;//终于明白他的意思了,原来如果你不这样写的话,后面的必须用struct card这样多麻烦阿。所以这么声明就可以用Card直接代替了!!! void fillDeck( Card原创 2009-05-08 02:17:00 · 676 阅读 · 0 评论 -
变量的命名约定
由于windows程序一般很长,编程人员在一段时间后自己都有可能忘记所定义的变量的含义。为了帮助大家记忆与区分变量,微软公司创建了Windows的命名约定,称之为匈牙利表示法(Hungarian notation)。匈牙利表示法提供了一组前缀字符,表示如下 前缀 含义 a 数组 b 布尔值(int)原创 2010-12-11 10:28:00 · 929 阅读 · 0 评论 -
VC++深入详解20101215
win32应用程序的设计主线: 首先进入WinMain函数,然后设计窗口类、注册窗口类、产生窗口、显示窗口、更新窗口,最后进入消息循环,将消息路由到窗口过程函数中去处理。 int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpC原创 2010-12-15 14:22:00 · 947 阅读 · 0 评论 -
标准c++中主要有四种强制转换类型运算符
先声明是从别人那里转来的,原文地址:http://www.doserver.net/read.php?520 标准c++中主要有四种强制转换类型运算符: const_cast,reinterpret_cast,static_cast,dynamic_cast等等。 1)static_cast(a)转载 2010-11-14 10:23:00 · 614 阅读 · 0 评论 -
继承
1、基类的protected成员只能被基类的成员和友元及派生类的成员和友元访问。 2、当派生类的成员函数重新定义基类的成员函数时,可以通过在基类成员名前加上基类名和二元作用域解析运算符(::)从派生类访问访问基类成员。 3、void Point::print() const (1)不会修改对象的数据成员 (2)const 对象只能重载调用成员函数的const版本,如果一个成员函数没有const版本,那么即使他没有修改类的数据成员也不能被const对象调用 4、将基类的地址赋给派生类指针(没原创 2010-11-13 16:08:00 · 593 阅读 · 0 评论 -
输入、输出流部分内容
流插入运算符>属于输入流 一、输出流: 1、流插入运算符& get( Elem& _Ch);basic_istream& get( Elem *_Str, streamsize _Count);basic_istream& get( Elem *_Str, streamsize _Count, Elem _Delim);basic_istream& get( basic_streambuf& _Strbuf原创 2010-11-14 16:35:00 · 644 阅读 · 0 评论 -
关于数据输入缓冲区的几个小疑问(未解决)
代码如下: #include using namespace std; int main() { const int SIZE=80; char buffer1[SIZE]; char buffer2[SIZE]; cout > buffer1; //默认cin是以空格结束 cout原创 2010-11-14 16:37:00 · 1016 阅读 · 0 评论 -
整数数组输出字符串的问题
#define include #define MAXLINE 100void getline(int s[], int n);int main(void){ ints[MAXLINE]; getline(s,MAXLINE); printf("%s",s); return0;}void getline(int s[], int n){ inti, c; for(i=0;i s[i]=原创 2010-09-11 18:59:00 · 1489 阅读 · 0 评论