水墨剑客的专栏

生活有时很平淡,但灵魂深处总有思想. 但我喜欢风和围巾,和漂泊的味道

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

 
 //测试...
 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);
 
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fupozsl/article/details/1790864
上一篇 SQL Server 管理常用的SQL和T-SQL
下一篇GCC 的内嵌汇编语法收集
想对作者说点什么? 我来说一句

gcc内嵌汇编

2014年08月05日 62KB 下载

没有更多推荐了,返回首页

关闭
关闭