
C/C++
文章平均质量分 65
键盘上的疯兔
乐于钻研问题背后的规律,并乐于编程证实。
展开
-
Qt依赖库路径配置
Qt依赖库路径配置问题Windows下,Qt里有两个项目LockerSDKDemo及LockerSDK.LockerSDKDemo依赖LockerSDK,而LockerSDK依赖外部库,库文件放在其根目录下的depends目录中.如何配置可以在无需复制任何依赖库的情况下直接编译运行LockerSDKDemo?LIBS如果可以将依赖库的路径添加到进程的Path环境变量中,就可以直接运行程序.这一点可以通过LIBS变量来完成.LIBS在Qt官网上并没有直接这样介绍,但在实际上它确实这样做的..原创 2021-10-18 17:33:09 · 3188 阅读 · 0 评论 -
#pragma once与#ifndef
#pragma once与#ifndef防止头文件包含的方法有两种,一种是使用#pragam once,一种是使用#ifndef宏。两种方法的作用是一样的,但原理不同。slimfox博客《#pragma once 与 #ifndef 解析 》原文说得很好:“#ifndef的方式依赖于宏名字不能冲突,这不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件不会被原创 2012-04-26 00:01:00 · 2022 阅读 · 0 评论 -
异常处理
异常处理异常主要两类:一、客观异常。其实就是结构化异常,客观异常是我自己取的。因为结构化异常是系统级的异常。比如:除数为0、无效内存访问,浮点溢出等。这种异常如不被捕获,就会直接导致程序中止。二、主观异常。这种异常不会导致程序暴崩,是程序员主观认为要处理的错误。比如:文件读写错误,函数调用失败等。 客观异常的处理意义不言而喻。如果出现客观异常时有数据未存盘,岂不导致数据丢失原创 2011-02-17 16:10:00 · 1311 阅读 · 0 评论 -
指针相减
指针相减如果两个指针指向同一个数组,它们就可以相减,其结果为两个指针之间的元素数目。 假设我住在广场路号,Mag住在广场路号,每家之间的地址间距是(在我这一侧用连续的偶数作为街道地址),那麽Mag家就在我家往前(142-124)/2家,也就是说可以得到我们两家之间相隔家。 也就是说可以利用两个指向同一数组的指针相减得到两个指针之间元素的个数。如果两个指针不是指向同一转载 2011-03-14 23:17:00 · 1235 阅读 · 0 评论 -
使用offset编写通用链表遍历函数
#include #include struct node{ int data; struct node* next;};//************************************// Method: Travel 通用遍历函数// FullName: Travel// Access: public // Returns: void原创 2011-04-11 20:50:00 · 1045 阅读 · 0 评论 -
多文件程序设计中头文件若干问题
多文件程序设计中头文件若干问题2010-12-21晴首先说明的是头文件可以不存在的,因为用#include语句将其包含进源文件时,只是简单地将其内容复制入源文件中。它起的作用是避免程序员手工复制,并使代码更为简洁。所以多文件程序设计可以看成多源文件程序设计。多文件程序设计中,文件之间的问题,无非就是共享数据的问题。这些共享数据可以是全局变量、全局函数、自定义数据类型等。头文原创 2011-01-04 18:11:00 · 1746 阅读 · 0 评论 -
没用指针却影响值
typedef struct Symbol{ char* name;}Symbol;typedef union Token{ Symbol* symt; double value;}Token;void Fn( Token t ){ t.symt->name = "hello world!";//利用了Token中的指针}void main(){ Token t原创 2011-04-11 20:26:00 · 1045 阅读 · 2 评论 -
为VC系统头文件生成tags
@echo offrem 用法:把些文件命名为vctag.bat,放在系统目录下,在命令行中运行vctag filenamerem 功能:本批处理是针对VC编写的。为filename的include树中的所有文件,在当前目录,生成tags文件,方便其它编辑器(如VIM)使用。rem 备注:此文件依赖于CTAGS工具和VC编译器。ctags官网http://ctags.sourceforge.原创 2012-08-30 22:15:23 · 1724 阅读 · 0 评论 -
关于调用帧中的栈
写这篇文章,我想说明一些看起来不复杂,但要花些时间反应的问题。Q: esp指向哪?A: 就是栈顶,而不是栈顶的下一个元素。Q: 如何在windbg中查看当前栈?A: dp esp. p意指 Pointer-sized. 单列模式格式: dp /c1 esp因为栈是向下生长的,dp是向上显示的,所以dp esp从栈顶开始,向上显示的内存,刚好就是栈的内容。Q: c原创 2014-11-02 10:57:24 · 1859 阅读 · 0 评论