易截截图软件、单文件、免安装、纯绿色、仅160KB

Visual Studio 2008 下生成C/C++ 汇编代码

在项目属性页 --> 配置属性 --> C/C++ --> 输出文件里面,将汇编输出的下拉列表从无列表选择为你需要汇编输出的内容,比如“仅列出程序集(/FA)”,如图1-1,图1-2:
 
图1-1
 
图1-2
---------------------------------------------------------------------------------------------------------
图1-3是未修改之前Debug目录下的文件:
图1-3
图1-4是修改之后Debug目录下的文件,注意多了两个汇编文件
图1-4
图1-5是汇编文件HelloWorld.asm的具体内容
图1-5
这样,当你搞不懂编译器到底做了些什么,或者某块内存中到底是什么东西,你可以来查看汇编代码。
比如int i = 5;
int a = (++ i) + (++ i) + (++ i) ;
a是等于22还是24,看你编译器了。o(∩_∩)o...
另外,解决运行时窗口一闪而过的办法是:按Ctrl+F5。
或许这些都是很菜的问题,或许是我平时对VS接触的不多,不过遇到问题解决问题,心情大好。


相关文档:

C/C++程序中结构体字节流的网络传输

 经常需要在程序中将远程传来的字节流进行结构化,或者将结构化的数据变成字节流传给远程主机。在C/C++程序中,结构化数据通常用结构体来组织,结构体也能够方便的转换为字节流,因此结构化的数据传输本不该成为问题,但在VC或GCC的默认设置下编译出的程序,却有一个值得注意的问题——结构体的对齐。  ......

#ifdef __cplusplus extern "C"

面试时被问到过,不甚明了,网上百度一下,整合了两个仁兄的文章,如下。:-)
时常在cpp的代码之中看到这样的代码:
#ifdef __cplusplus //c++编译环境中才会定义__cplusplus (plus就是"+"的意思)
extern "C" { //告诉编译器下面的函数是c语言函数(因为c++和c语言对函数的编译转换不一样,主要是c++中存在重载)
#en ......

fat16文件系统 c文件

/* =========================================================================== */
/* Project:        mp3 player                */
/* File:         & ......

呵呵!一个QT通过贴图实现的模拟时钟 c文件

#include "draw.h"
#include "ui_draw.h"
#include <QPixmap>
draw::draw(QWidget *parent)
    : QDialog(parent), ui(new Ui::draw)
{
    ui->setupUi(this);
//    this->setWindowFlags( Qt::FramelessWindowHint);
    ctrlPoint.s ......

C函数返回结构体在汇编下的实现

 
编译器:vc++6.0(因为此种实现依赖编译器处理)
此处只简要叙述一下机制。并附部分关键指令序列。
准备:
1,关于EBP:称做栈基址指针。为什么这样说呢?我们先来看看函数调用的过程:
参数从右到左压栈。
call指令执行,该指令将导致EIP压栈。
每个函数前两句必定是:push ebp   mov ebp,esp。则ca ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号