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

用GCC输出带C源代码注释的汇编列表文件

我们都知道gcc的-S开关可以用来生成汇编代码,
但有时候,单有汇编文件是不够的,我们希望的是将C语言程序的源代码和汇编语言文本交错在一起查看,
这是LISTING功能,在gcc中并没有专门的FAQ说明,
区区在网上查了很多资料才知道怎么实现,所以特此记下。
gcc -c -g -Wa,-adlhn ee.c >  ee.anno.s
由此生成的ee.anno.s即是ee.c对应的C与汇编混排的列表

又如C程序
/* EE */
#include<stdio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<windows.h>
int main(int argc, char **argv)
{
  char * p = "TO STDOUT";
  int ic   = (int)GetStdHandle(STD_OUTPUT_HANDLE);
  printf("%d\n", ic);
  WriteFile(ic, p, strlen(p), &ic, NULL);
  return 0;
}
可以生成
   1              
.file
"ee.c"
   4              
.text
   5              
Ltext0:
 4222              
.section .rdata,"dr"
 4223              
LC0:
 4224 0000 544F2053
.ascii "TO STDOUT\0"
 4224      54444F55 
 4224      5400
 4225              
LC1:
 4226 000a 25640A00
.ascii "%d\12\0"
 4227 000e 0000    
.text
 4231              
.globl _main
 4233              
_main:
   1:ee.c          **** /* EE */
   2:ee.c          **** #include<stdio.h>
   3:ee.c          **** #include<stdio.h>
   4:ee.c          **** #include<string.h>
   5:ee.c   &nbs


相关文档:

一道c的面试题,大数相乘

 http://www.cnblogs.com/hoodlum1980/archive/2007/08/15/857067.html
题干:输入两个较大的数,输出相乘的结果。
意思也就是两个数很大,超出了int的存储范围。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 100
void GetDigits( ......

将Win32 C/C++应用程序迁移到Linux

本文的内容是 Win32 API(特别是进程、线程和共享内存服务)到 POWER 上 Linux 的映射。本文可以帮助您确定哪种映射服务最适合您的需要。作者向您详细介绍了他在移植 Win32 C/C++ 应用程序时遇到的 API 映射。
概述
有很多方式可以将 Win32 C/C++ 应用程序移植和迁移到 pSeries 平台。您可以使用免费软件或者第三方工具来 ......

C/C++中的函数参数传递机制(转载)

 一、 函数参数传递机制的基本理论   函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有两种:值传递和引用传递。以下讨论称调用其他函数的函数为主调函数,被调用的函数为被调函数。  值传递(passl-by-value)过程中,被调函数的形式参 ......

Keil C51 vs 标准C

深入理解并应用C51对标准ANSIC的扩展是学习C51的关键之一。因为大多数扩展功能都是直接针对8051系列CPU硬件的。大致有以下8 类: 8051存储类型及存储区域l;  存储模式l存储器类型声明l变量类型声明l 位变量与位寻址l  特殊功能寄存器(SFR)l C51指针l  函数属性具体说明如下(8031为缺省CPU)。
第一节 Keil C ......

C/C++ 的全局变量初始化与不初始化的区别

在C语言里,全局变量如果不初始化的话,默认为0,也就是说在全局空间里:
int x =0; 跟 int x; 的效果看起来是一样的。但其实这里面的差别很大,强烈建议大家所有的全局变量都要初始化,他们的主要差别如下:
编译器在编译的时候针对这两种情况会产生两种符号放在目标文件的符号表中,对于初始化的,叫强符号,未初始化的 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号