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);
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

和菜鸟一起学linux之GCC内嵌汇编简单实例

经常会在linux内核中看到汇编,而这个汇编又和正常的汇编不太一样,这个就是GCC中的内嵌汇编了。前先天,在移植dvb的frontend的时候看到了mb();这个函数,发现最终其执行的就是   ...
  • fdsafwagdagadg6576
  • fdsafwagdagadg6576
  • 2015年03月26日 11:06
  • 614

GCC内嵌汇编(一)

由于工作的需要,所以花了几天时间从网上找了不少资料学习了一下GCC内嵌汇编,在此把我所认为比较重要的部分跟大家分享下,同时也在此感谢那些发表GCC内嵌汇编相关文章的作者!在此也希望我整理的资料对需要学...
  • bigloomy
  • bigloomy
  • 2011年07月03日 16:22
  • 4516

GCC中内嵌arm汇编

首先内嵌汇编的形式是 asm {      “要执行的语句;”      :输入参数      :输出参数      :被改变的寄存器 }...
  • groundhappy
  • groundhappy
  • 2016年09月06日 17:12
  • 365

有关GCC内嵌汇编的总结

最近可能要用到GCC内嵌汇编,因此将相关内容做一点总结,分享给大家。 还是把参考的网址分享给大家 http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assem...
  • u012927281
  • u012927281
  • 2016年05月03日 20:10
  • 199

Windows使用GCC调用DLL内部的类

 IDE:DEV-C++GCC 4.1.2需要以下步骤:1.将DLL工程的 XX.a,XX.def,XX.dll 以及类的头文件拷贝到工程文件夹2.工程包含类的头文件3.在“工程选项”-》“参数”-》...
  • likelynn
  • likelynn
  • 2007年10月12日 11:19
  • 1826

ARM GCC 内嵌(inline)汇编手册

关于这篇文档 这篇文章是本人为方便各位业界同仁而翻译,方便大家开发底层代码使用,转载请注明出处,谢谢。要是你E文功底好,本人还是建议阅读E文版的。 http://www.ethernut.de/e...
  • lhf_tiger
  • lhf_tiger
  • 2014年06月19日 20:54
  • 1575

GCC内嵌汇编(三)

接下来是GCC内嵌汇编最后一部分了,  可能看起来讲的先后顺序有些乱,但是个人习惯吧,前面如果有些地方不明白的,看了后面的应该就清楚了。如果还是有疑惑的话,自己组织下内容效果更佳。匹配限制符 I386...
  • bigloomy
  • bigloomy
  • 2011年07月03日 16:44
  • 3524

GCC 内联汇编(GCC内嵌ARM汇编规则)

转自:http://www.cppblog.com/jb8164/archive/2008/02/26/43260.html 有时为了高效,有时为了直接控制硬件,有些模块我们不得不直接用汇编语言来编...
  • duanlove
  • duanlove
  • 2012年11月21日 18:05
  • 1747

gcc内嵌的汇编at&a汇编(初览)

//============================================================================ // Name : Test...
  • cust_hf
  • cust_hf
  • 2013年12月28日 21:39
  • 500

GCC内嵌汇编一些限制字符串

/******************/ “b”将输入变量放入ebx “c”将输入变量放入ecx “d”将输入变量放入edx “s”将输入变量放入esi “d”将输入变量放...
  • qq_15974389
  • qq_15974389
  • 2017年07月31日 09:47
  • 215
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GCC 内嵌汇编实现动态调用 windows API
举报原因:
原因补充:

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