
笔记
crazyingbird
先不写了
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2010.3.28小结
1.通过控件ID值获取控件: CheckBox chb = (CheckBox)Page.FindControl("chb"+rowCount.ToString()); // get Controls by ID if (chb.Checked == true) ds.Tables原创 2010-03-29 09:34:00 · 581 阅读 · 0 评论 -
GTK简介 - 层次、信号、事件
下面的内容是初学GTK时给同学做的一个介绍内容,更为详细的可以参考:http://apps.hi.baidu.com/share/detail/19271271要弄懂GTK,我们先从GTK的层次下手,先是几个概念:XWindow系统GDKGLibGTK+XWindow系统:X Window,即X W原创 2012-01-06 10:21:26 · 3245 阅读 · 0 评论 -
常用的XML解析工具介绍
费话不多说,直接上内容了:Expat:实现语言:C采用流的方式来解析XML文件基于事件通知型来调用分析到的数据libxml2:实现语言:C支持c++、PHP、Pascal、Ruby、Tcl等语言的绑定功能强大拥肿(10万行代码)tinyxml:实现语言:C++原创 2012-01-06 10:43:16 · 17668 阅读 · 0 评论 -
《深入理解Linux内核》读书笔记-第三章-进程(1)
<!--@page {margin:2cm}h2 {margin-top:0.46cm; margin-bottom:0.46cm; line-height:171%; page-break-inside:avoid}h2.western {font-family:"Arial",sans-serif; font-size:16pt}h2.cjk {原创 2012-02-11 13:40:36 · 1759 阅读 · 0 评论 -
《深入理解Linux内核》读书笔记-第四章-中断和异常(1)
中断(interrupt)通常被定义为一个事件,该事件改变处理器执行的指令顺序。这样的事件与CPU芯片内外部硬件电路产生的电信号相对应。中断通常分为同步(synchronous)中断和异步(asynchronous)中断:同步中断是当指令执行时由CPU控制单元产生的,之所以称为同步,是因为只有在一条指令终止执行后CPU才会发出中断。异步中断是由其他硬件设备依照CPU原创 2012-02-18 12:01:30 · 2113 阅读 · 0 评论 -
《深入理解Linux内核》读书笔记-第三章-进程(2)
<!--@page {margin:2cm}h2 {margin-top:0.46cm; margin-bottom:0.46cm; line-height:171%; page-break-inside:avoid}h2.western {font-family:"Arial",sans-serif; font-size:16pt}h2.cjk {原创 2012-02-11 13:41:46 · 1502 阅读 · 0 评论 -
构建WDK驱动出现fatal error U1087: cannot have : and :: dependents for same target
原因:WDK在编译驱动时,是不允许源文件所在的路径(全路径)中包含空格的,如果你包含了空格,就会出现上述错误。 解决方法:把源文件放在一个没有空格的路径下。原创 2012-02-29 14:02:27 · 4936 阅读 · 1 评论 -
Python缩进问题:IndentationError:expectedan indented block
Python语言是一款对缩进非常敏感的语言,给很多初学者带来了困惑,即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的。在编译时会出现这样的错IndentationError:expectedan indented block说明此处需要缩进,你只要在出现错误的那一行,按空格或Tab(但不能混用)键缩进就行。转载 2012-03-05 12:56:02 · 4517 阅读 · 0 评论 -
物理地址扩展(PAE)分页机制
Intel通过在处理器上把管脚数从32增加到36,以提高处理器的寻址能力,使其达到2^36=64GB,为此,需引入一种新的分页机制。 64GB的RAM被分为2^24个页框,页表项的物理地址字段从20位扩展到24位,每个页表项必须包含12个标志位(固定)和24个物理地址位(36-12),共36位,因此,每个页表项须从32位扩展到64位(36位>32位,考虑到对齐,因此应原创 2012-01-04 16:52:35 · 4822 阅读 · 2 评论 -
Python学习笔记:缩进
Python使用缩进来分隔代码组,代码的层次结构是以缩进深度来体现的。同一代码组的代码行必须严格左对齐,如果不严格遵守,则代码组的划分会混乱,与期望不一致,导致语法或逻辑错误。 Python推荐使用4个空格宽度作为缩进。 缩进时,应尽量使用4个空格,而避免使用制表符。虽然Python同时支持空格和制表符两种缩进方式,但由于不同的编辑器对于原创 2012-03-05 16:31:38 · 1212 阅读 · 0 评论 -
应用程序正常初始化(0xc0150002)失败
写了一个VC6下的MFC程序,结果拷贝到另一台机子上出现了应用程序正常初始化(0xc0150002)失败的问题。然后打开事件查看器,找到了如下信息:找不到附属汇编 Microsoft.VC80.DebugCRT,上一个错误是 参照的汇编没有安装在系统上。Resolve Partial Assembly 为 Microsoft.VC80.DebugCRT 失败。 参考错误消息: 参照原创 2012-03-20 14:14:53 · 7152 阅读 · 3 评论 -
const在C和C++中的一个区别
看书的时候碰到的一个问题,先列点书上的原话: “C中的const的意思是‘一个不能被改变的普通变量’,在C中,它总是占用内存,而且它的名字是全局符。C编译器不能把const看成一个编译期间的常量” 做了下面一个实验,就实验来验证分析: //a.h#pragma onceconst int a = 2;//main.c#include原创 2012-04-01 19:51:12 · 2247 阅读 · 0 评论 -
[转]python对XML的解析
转自:http://blog.csdn.net/yueguanghaidao/article/details/7265246 python有三种方法解析XML,SAX,DOM,以及ElementTree###1.SAX (simple API for XML ) pyhton 标准库包含SAX解析器,SAX是一种典型的极为快速的工具,在解析XML时,不会占用大量内存。转载 2013-05-08 22:57:49 · 1028 阅读 · 0 评论 -
进程的挂起与阻塞
今天碰到的一个问题,解决过程中出现了这样一个疑问:挂起与阻塞有何区别? 搜罗了一些论坛里的说法,结合操作系统书上写的,得到如下结论: 阻塞是由于进程所需资源得不到满足,并会最终导致进程被挂起 进程挂起的原因并不一定是由于阻塞,也有可能是时间片得不到满足,挂起状态是进程从内存调度到外存中的一种状态,若在就绪态时,从内存调出到外存中,就是就绪挂起态,若在阻塞态时,从内存调出到外原创 2013-06-13 21:39:11 · 6077 阅读 · 0 评论 -
Redhat 6.6 + Qt5.5 编译QOCI驱动
由于使用的免费版本的Qt5.5,只自带了MYSQL、SQLITE、PSQL的数据库驱动,为了适配ORACLE数据库,需根据源码编译QOCI驱动。在已经安装了ORACLE的情况下,编译过程如下:cd $QTDIR/../Src/qtbase/src/plugins/sqldrivers/oci/qmake -o Makefile "INCLUDEPATH+=$OR原创 2015-09-06 16:18:17 · 2052 阅读 · 0 评论 -
QProcess处理带管道的shell
代码中需要调用shell,原写法为: QProcess *proc = new QProcess(); QString qCmd = "find ./ -name *.so -print0 | xargs -0 objdump -x | grep -oE \"T_[0-9, a-f, A-F]{4}\" "; proc->start(qCmd);原创 2016-06-02 14:26:36 · 3939 阅读 · 1 评论 -
代码优化,WINDOWS下使用DUMPBIN提取DLL文件中的符号
一个跨平台软件,其中有一段代码,需要从动态链接库中提取出匹配指定规则的符号,在Linux中,使用了objdump对.so文件进行反汇编,提取符号,但在Windows当中,由于没有objdump,虽然有dumpbin也可以对.dll文件进行反汇编,但依赖于vc,所以之前一直是使用遍历匹配的方式,来查找匹配的符号,效率很低。今天突然想到以前的项目中,在windows里用sed时,只需要部署几个相关的e原创 2016-07-06 22:44:13 · 2373 阅读 · 0 评论 -
【转】docker registry push错误“server gave HTTP response to HTTPS client”
引自:http://www.cnblogs.com/hobinly/p/6110624.html 问题描述:成功安装docker registry,客户端执行docker push,返回Get xxxxx server gave HTTP response to HTTPS client 错误。 解决方法:在”/etc/docker/“目录下,创建”daemon.json“...转载 2018-08-27 22:27:49 · 766 阅读 · 0 评论 -
文件操作的一个细节 - 换行符"\n"和回车符"\r"
问题始于社区的一个帖子,楼主的问题如下: “在c语言中,对一个不知道大小的文件进行读操作,我用fread()将文件的内容先放到一个缓存区,然后将缓存区中的内容打印出来,缓存区中的内容和文件中的内容不一样,好像是因为缓存区的空间比存储文件内容所需要的空间大了,不知道应该怎么解决” 这个问题我之前也碰到过,翻了一些C语言文件操作原创 2012-01-04 11:44:33 · 16776 阅读 · 0 评论 -
Linux中TASK_RUNNING状态的进程链表
早先的Linux版本把所有处于TASK_RUNNING状态的进程组织在一个叫做运行队列(runqueue)的链表中,由于维持链表中的进程按优先级排序的开销过大,因此,早期的调试程序需扫描整个队列以选择“最佳”的可运行程序。Linux2.6实现的运行队列有所不同。为了实现在固定的时间内选出“最佳”的可运行程序,内核将可运行进程的优先级划分为0-139,并为此建立了140个可运行进程链表,原创 2012-02-08 16:25:30 · 3489 阅读 · 0 评论 -
SWF解码
以下内容出自我做的一份PPT,在CSDN下载频道可以下载到:http://download.csdn.net/detail/crazyingbird/3996031Flash动画文件类型:FLA:Flash动画的源文件(相当于源代码)SWF:动画文件,可以嵌入到网页中并直接播放(相当于可执行文件)原创 2012-01-03 20:48:41 · 4765 阅读 · 0 评论 -
MiniXML使用 -- 换行带来的空结点
用minixml加载XML文档时,发现加载生成的树中莫名其妙的多出了很多空结点--不是NULL,而是有结点无数据。刚开始怀疑是minixml版本搞错了,旧版本可能会有bug。然而更新了最新的2.6版的lib,发现还是一样。这个问题困扰了某将近一个下午。后来实在无奈,就用程序自己生原创 2011-05-17 18:45:00 · 5185 阅读 · 3 评论 -
《编程珠玑》读书报告
最后几章还没怎么看,先写这么多吧。第一部分:基础第一章:开篇 本章概括的讲述了如何用程序解决问题,包括:准确的问题描述、程序设计以及实现。 本章首先提出了一个问题“如何给磁盘文件排序?”,并说明应该先对问题进行准确的描述,将已知条件组织成一种更客观、更易用的形式:输入、输出以及约束。在程序设计阶段,应该充分理解问题的特点,选择合适的解原创 2011-10-30 21:05:03 · 1275 阅读 · 0 评论 -
《深入理解Linux内核》读书笔记-第二章-内存寻址(2)
硬件中的分页:32位的线性地址被分成3个域:高10位:页目录表中间10位:页表低12位:页表内偏移使用二级页表模式的目的在于减少每个进程页表所需RAM数量。如果是一级页表,则需高达220个表项,而二级模式只为进程实际使用的那些虚拟内存区请求页表。页目录项和页表项有同样的结构,均包含了一些属性字段。评:段页属性字段的设置很有意义,分段、原创 2012-01-06 14:32:06 · 1863 阅读 · 0 评论 -
《深入理解Linux内核》读书笔记-第二章-内存寻址(1)
内存地址:逻辑地址:包含在机器语言指令中用来指定一个操作数或一条指令的地址。线性地址:一个32位无符号整数,也称虚拟地址。物理地址:用于内存芯片级内存单元寻址,与从微处理器的地址引脚发送到内存总线上的电信号相对应。在多处理器系统中,所有CPU都共享同一内存,这意味着,RAM芯片可以由独立的CPU并发地访问。由于RAM芯片上的读或写操作必须串行地执行,原创 2012-01-04 19:52:37 · 1628 阅读 · 0 评论 -
关于“实模式”和“保护模式”
今天整理读书笔记,发现了一个之前没注意到的,或者自己一直忽略的地方:《深入理解Linux内核》一书中,关于内存寻址这一章,提到了“硬件中的分段”、“Linux中的分段”、“硬件中的分页”和“Linux中的分页”四个概念,所谓的硬件上的分段、分页,是针对CPU在实模式下,即操作系统尚未加载启动之前所采用的内存寻址方式,而软件上的分段、分页,则是CPU在保护模式下,即操作系统启动后所采用的原创 2012-01-06 15:28:36 · 1054 阅读 · 0 评论 -
进程、轻量级进程和线程的一些点
从内核观点看,进程的目的就是担当分配系统资源(CPU时间、内存等)的实体。进程是资源管理的最小单位,线程是程序执行的最小单位。在操作系统设计上,从进程演化出线程,最主要的目的就是更好的支持SMP以及减小(进程/线程)上下文切换开销。最初的进程定义都包含程序、资源及其执行三部分,其中程序通常指代码,资源在操作系统层面上通常包括内存资源、IO资源、信号处理等部分,而程序的执行通原创 2012-01-09 15:57:30 · 2210 阅读 · 3 评论 -
“没有定义根文件系统,请回到分区菜单以修正此错误”
用wubi安装ubuntu11.04,安装完成,重启,进入ubuntu系统,在检查配置时弹出了这样一个错误信息:“没有定义根文件系统,请回到分区菜单以修正此错误”错误原因:硬盘分区表错误。 如:硬盘分区有重叠。Ubuntu对硬盘分区表要求严格,稍有不适合就有错误提示。我在之前进行过两次磁盘压缩,可能对硬盘分区表产生了影响。解决办法:使用Diskgenius磁盘管理原创 2012-01-11 18:48:09 · 25311 阅读 · 0 评论 -
MultiByteToWideChar和WideCharToMultiByte用法详解
//========================================================================//TITLE:// MultiByteToWideChar和WideCharToMultiByte用法详解//AUTHOR:// norains//DATE:// 第一版:Monday 25-Decembe转载 2011-09-04 22:32:35 · 471 阅读 · 0 评论 -
obj、lib、dll、h之间的相互关系
在坛子里找的一些东西,整理下: obj:是CPP对应的二进制代码格式,是未经重定位的! lib: 是若干个obj的集合,本质与obj相同! dll: 是可实际运行的二进制代码,有定位代码的! h: 是头文件,也可算是源代码,因为当CPP中用#include时,会把包含的文件的内容在CPP中扩展开!原创 2011-11-17 22:28:14 · 1267 阅读 · 1 评论 -
编译过程中碰到的几个小问题和解决方法
Q1:无法找到调试信息,或调试信息blablabla...方法:项目属性:C++-》常规-》调试信息格式 设置为“用于编辑并继续的程序数据库(/ZI)C++-》优化-》优化 设置为“禁用”链接器-》调试-》生成调试信息 设置为“是”或者直接在C++-》命令行中添加/ZI /Od,并在链接器-》命令行中添加/DEBUGQ2:源代码与原创 2011-09-27 11:24:41 · 1280 阅读 · 0 评论 -
Custom SDI —— 向视图添加控件
转自:http://www.cnitblog.com/buf/archive/2011/09/23/42270.html介绍在使用MFC Application Wizard时,如果选择Dialog Based App,添加控件是很容易的事情——只需要移动几下鼠标就可以轻松完成。但是,如果选择SDI或者MDI,添加控件就不是那么直接了。在此总结一下向视图添加控件的方法。转载 2011-10-04 21:18:45 · 909 阅读 · 0 评论 -
VC下Debug和Release区别
之前了解一些,下面这篇博文讲的挺深入的,受教了!转自:http://www.cnblogs.com/JemBai/archive/2009/01/13/1374805.html,3Q!VC下Debug和Release区别最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release 下又无法进行调试,于是只能采用printf方转载 2011-08-25 21:23:20 · 675 阅读 · 1 评论 -
开源软件编译
From:http://www.pin5i.com/showtopic-11397.html 基本上,尤其在Windows 和Mac OS X系统下,已经开发好的软件不需要用户再编译。程序员写好代码并编译后,封装为计算机可执行的二进制形式,用户就可以直接使用了。然而现在,随着开源软件的增多,每个人都可以读和使用源代码,因而软件编译的最后一步工作已经转移到了用户身上,而且他们得根据自转载 2011-09-28 11:19:26 · 1013 阅读 · 0 评论 -
视图分割与视图间通信资料汇总
本文转自:http://www.cppblog.com/Lee7/archive/2008/12/22/70036.html一、引用 当用户需要同时对文当的不同部分进行编辑时,常常会用到切分窗口;这些窗口可以都是相同的视,或者一个窗口为列表视,而另一个为树型视图。应用程序框架有多种方式来表示多视图,切分窗口是其中的方式之一。 切分窗口分为动态切分窗口和静态切分窗口,它们转载 2011-11-09 18:14:16 · 1679 阅读 · 0 评论 -
《深入理解Linux内核》读书笔记 第一章 绪论(1)
一、Linux与其它类Unix内核的比较:单块结构的内核:由几个逻辑上独立的成分构成,单块结构,大多数据商用Unix变体也是单块结构;编译并静态连接的传统Unix内核:Linux能自动按需动态地装载和卸载部分内核代码(模块),而传统Unix内核仅支持静态连接;内核线程:Linux以一种十分有限的方式使用内核线程来周期性地执行几个内核函数,而一些Unix内核则本身原创 2012-01-03 13:45:52 · 1953 阅读 · 1 评论 -
由一段代码引入的字节对齐问题
今天看了人人的Unix公共主页,主页君的一篇日志,给出了一段代码,让找出Bug,代码如下:#include stdio.h>#include stdlib.h>char* whatever();int main(){ char *something; void *pointer[4]; something = whate原创 2012-01-02 20:42:42 · 1335 阅读 · 0 评论 -
《深入理解Linux内核》读书笔记 第一章 绪论(2)
五、Unix内核概述:Unix内核提供了应用程序可以运行的执行环境。因此,内核必须实现一组服务及相应的接口,应用程序使用这些接口,而且通常不会与硬件资源直接交互。进程/内核模式:所有标准的Unix内核都仅仅利用了内核态和用户态。一个程序执行时,大部分时间都处在用户态下,只有需要内核所提供的服务时才切换到内核态。当内核满足了用户程序的请原创 2012-01-03 20:05:04 · 1324 阅读 · 0 评论 -
【转】docker push错误“server gave HTTP response to HTTPS client”
引自:http://www.cnblogs.com/hobinly/p/6110624.html 问题描述:成功安装docker registry,执行docker push时报错“Get https: //XXX: http: server gave HTTP response to HTTPS client” 解决方法:在”/etc/docker/“目录下,创建”...转载 2018-08-27 22:34:44 · 1079 阅读 · 0 评论