GCC 内嵌汇编实现动态调用 windows API

原创 2007年09月19日 10:20:00
 
 //测试...
 char* cap="你好世界";
 char* msg="这是个测试,你知道吗?";
 long hwnd=0;
 long flag=0;
 HINSTANCE lib=0;
 FARPROC proc=0;
 LPCSTR dll="user32";
 LPCSTR sproc="MessageBoxA";
 
 lib= LoadLibraryA(dll);
 proc=GetProcAddress( lib, sproc);
 
 printf("%x/n%x/n",lib,proc);
 
 asm volatile(
     "push %0/n/t"
     "push %1/n/t"
     "push %2/n/t"
     "push %3/n/t"
     "call *%4/n/t"
     :
     :"r"(hwnd),"r"(cap),"r"(msg),"r"(flag),"r"(proc)
     :"ebx"
 );

//也可以分开写
// asm volatile(
//     "push %0/n/t"
//     "push %1/n/t"
//     :
//     :"r"(hwnd),"r"(cap)
//     :"ebx"
// );
// asm volatile(
//     "push %0/n/t"
//     "push %1/n/t"
//     "call *%2/n/t"
//     :
//     :"r"(msg),"r"(flag),"r"(proc)
//     :"ebx"
// );
 
 
 FreeLibrary((HMODULE)lib);
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

GCC内嵌汇编收集

  • 2015年07月17日 21:55
  • 2.42MB
  • 下载

ARM_GCC内嵌汇编

  • 2012年11月29日 23:57
  • 483KB
  • 下载

GCC在C语言中内嵌汇编 asm __volatile__

在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器,以及如何将计算结果写回C 变量,你只要告诉程序中C语言表达式与汇编指令操作数之间的对应关系即可...

gcc内嵌汇编

  • 2013年03月28日 16:54
  • 21KB
  • 下载

gcc内嵌汇编语法

  • 2014年10月29日 14:20
  • 18KB
  • 下载

GCC如何编译内嵌汇编代码

内核代码绝大部分使用C  语言编写,只有一小部分使用汇编语言编写,例如与特定体系结构相关的代码和对性能影响很大的代码。GCC提供了内嵌汇编的功能,可以在C代码中直接内嵌汇编语言语句,大大方便了程序设计...

GCC内嵌汇编的一些资料

  • 2012年10月31日 15:22
  • 8KB
  • 下载

gcc内嵌汇编

  • 2014年08月05日 18:51
  • 62KB
  • 下载

GCC在C语言中内嵌汇编 asm __volatile__

分类: linux C/C++ 架构管理2012-11-26 22:20 1584人阅读 评论(0) 收藏 举报 目录(?)[+]   在内嵌汇编中,可以将C...
  • pi9nc
  • pi9nc
  • 2014年09月10日 10:29
  • 890
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GCC 内嵌汇编实现动态调用 windows API
举报原因:
原因补充:

(最多只允许输入30个字)