当前位置: 首页 > 编程日记 > 正文

各种函数调用约定及浮点数传参

32位下_stdcall, _fastcall, _cdecl

#include <windows.h>int _stdcall Func1(int a, int b, int c, int d)
{return a+b+c+d;
}
int _fastcall Func2(int a, int b, int c, int d)   
{return a+b+c+d;
}
int _cdecl Func3(int a, int b, int c, int d)
{return a + b + c + d;
}double _stdcall Func4(double a, double b, double c, double d)
{return a + b + c + d;
}double _fastcall Func5(double a, double b, double c, double d)
{return a + b + c + d;
}double _cdecl Func6(double a, double b, double c, double d)
{return a + b + c + d;
}int _stdcall Func7(int a, double b, int c, double d)
{return a + b + c + d;
}int _fastcall Func8(int a, double b, int c, double d)
{return a + b + c + d;
}int _cdecl Func9(int a, double b, int c, double d)
{return a + b + c + d;
}int pascal Func10(int a, int b, int c, int d)   //似乎#define pascal __stdcall  不过pascal也太古老了
{return a + b + c + d;
}int main()
{Func1(1,2,3,4);Func2(5,6,7,8);Func3(2,2,3,4);Func4(1.0, 2.0, 3.0, 4.0);Func5(1.0, 2.0, 3.0, 4.0);Func6(1.0, 2.0, 3.0, 4.0);Func7(1, 2.0, 3, 4.0);Func8(1, 2.0, 3, 4.0);Func9(1, 2.0, 3, 4.0);Func10(1, 2, 3, 4);return 0;
}
/*
0101178E 6A 04                push        4
01011790 6A 03                push        3
01011792 6A 02                push        2
01011794 6A 01                push        1
01011796 E8 BF F8 FF FF       call        Func1 (0101105Ah)
0101179B 6A 08                push        8
0101179D 6A 07                push        7
0101179F BA 06 00 00 00       mov         edx,6
010117A4 B9 05 00 00 00       mov         ecx,5
010117A9 E8 57 F8 FF FF       call        Func2 (01011005h)
010117AE 6A 04                push        4
010117B0 6A 03                push        3
010117B2 6A 02                push        2
010117B4 6A 02                push        2
010117B6 E8 E3 FA FF FF       call        Func3 (0101129Eh)
010117BB 83 C4 10             add         esp,10h *//*   Func4sub         esp,8
00F64221 movsd       xmm0,mmword ptr [__real@4010000000000000 (0F66BE8h)]
00F64229 movsd       mmword ptr [esp],xmm0
00F6422E sub         esp,8
00F64231 movsd       xmm0,mmword ptr [__real@4008000000000000 (0F66BE0h)]
00F64239 movsd       mmword ptr [esp],xmm0
00F6423E sub         esp,8
00F64241 movsd       xmm0,mmword ptr [__real@4000000000000000 (0F66BD8h)]
00F64249 movsd       mmword ptr [esp],xmm0
00F6424E sub         esp,8
00F64251 movsd       xmm0,mmword ptr [__real@3ff0000000000000 (0F66BD0h)]
00F64259 movsd       mmword ptr [esp],xmm0
00F6425E call        Func4 (0F6134Dh)
00F64263 fstp        st(0)  *//*  Func5  011F4D55 83 EC 08             sub         esp,8
011F4D58 F2 0F 10 05 E8 6B 1F 01 movsd       xmm0,mmword ptr [__real@4010000000000000 (011F6BE8h)]
011F4D60 F2 0F 11 04 24       movsd       mmword ptr [esp],xmm0
011F4D65 83 EC 08             sub         esp,8
011F4D68 F2 0F 10 05 E0 6B 1F 01 movsd       xmm0,mmword ptr [__real@4008000000000000 (011F6BE0h)]
011F4D70 F2 0F 11 04 24       movsd       mmword ptr [esp],xmm0
011F4D75 83 EC 08             sub         esp,8
011F4D78 F2 0F 10 05 D8 6B 1F 01 movsd       xmm0,mmword ptr [__real@4000000000000000 (011F6BD8h)]
011F4D80 F2 0F 11 04 24       movsd       mmword ptr [esp],xmm0
011F4D85 83 EC 08             sub         esp,8
011F4D88 F2 0F 10 05 D0 6B 1F 01 movsd       xmm0,mmword ptr [__real@3ff0000000000000 (011F6BD0h)]
011F4D90 F2 0F 11 04 24       movsd       mmword ptr [esp],xmm0
011F4D95 E8 B8 C5 FF FF       call        Func5 (011F1352h)
011F4D9A DD D8                fstp        st(0)  *//* Func601214DEC 83 EC 08             sub         esp,8
01214DEF F2 0F 10 05 E8 6B 21 01 movsd       xmm0,mmword ptr [__real@4010000000000000 (01216BE8h)]
01214DF7 F2 0F 11 04 24       movsd       mmword ptr [esp],xmm0
01214DFC 83 EC 08             sub         esp,8
01214DFF F2 0F 10 05 E0 6B 21 01 movsd       xmm0,mmword ptr [__real@4008000000000000 (01216BE0h)]
01214E07 F2 0F 11 04 24       movsd       mmword ptr [esp],xmm0
01214E0C 83 EC 08             sub         esp,8
01214E0F F2 0F 10 05 D8 6B 21 01 movsd       xmm0,mmword ptr [__real@4000000000000000 (01216BD8h)]
01214E17 F2 0F 11 04 24       movsd       mmword ptr [esp],xmm0
01214E1C 83 EC 08             sub         esp,8
01214E1F F2 0F 10 05 D0 6B 21 01 movsd       xmm0,mmword ptr [__real@3ff0000000000000 (01216BD0h)]
01214E27 F2 0F 11 04 24       movsd       mmword ptr [esp],xmm0
01214E2C E8 26 C5 FF FF       call        Func6 (01211357h)
01214E31 DD D8                fstp        st(0)
01214E33 83 C4 20             add         esp,20h  *///结果发现浮点型的参数全部都是弄到栈里传参的/*  Func701234E86 sub         esp,8
01234E89 movsd       xmm0,mmword ptr [__real@4010000000000000 (01236BE8h)]
01234E91 movsd       mmword ptr [esp],xmm0
01234E96 push        3
01234E98 sub         esp,8
01234E9B movsd       xmm0,mmword ptr [__real@4000000000000000 (01236BD8h)]
01234EA3 movsd       mmword ptr [esp],xmm0
01234EA8 push        1
01234EAA call        Func7 (0123135Ch)  *//*  Func800834EFF sub         esp,8
00834F02 movsd       xmm0,mmword ptr [__real@4010000000000000 (0836BE8h)]
00834F0A movsd       mmword ptr [esp],xmm0
00834F0F sub         esp,8
00834F12 movsd       xmm0,mmword ptr [__real@4000000000000000 (0836BD8h)]
00834F1A movsd       mmword ptr [esp],xmm0
00834F1F mov         edx,3
00834F24 mov         ecx,1
00834F29 call        Func8 (0831361h)  */     //大发现/*  Func900834F2E  sub         esp,8
00834F31  movsd       xmm0,mmword ptr [__real@4010000000000000 (0836BE8h)]
00834F39  movsd       mmword ptr [esp],xmm0
00834F3E  push        3
00834F40  sub         esp,8
00834F43  movsd       xmm0,mmword ptr [__real@4000000000000000 (0836BD8h)]
00834F4B  movsd       mmword ptr [esp],xmm0
00834F50  push        1
00834F52  call        Func9 (0831366h)
00834F57  add         esp,18h  */

64位下,没什么约定

#include <windows.h>int Func1(int a, int b, int c, int d)
{return a + b + c + d;
}double Func2(double a, double b, double c, double d)
{return a + b + c + d;
}int Func3(int a, double b, int c, double d)
{return a + b + c + d;
}int Func4(int a, int b, int c, int d, int e, int f)
{return a + b + c + d + e + f;
}int Func5(int a, int b, int c, int d, double e, double f)
{return a + b + c + d + e + f;
}int Func6(int a, int b, int c, int d, double e, int f, double g, int h)
{return a + b + c + d + e + f + g + h;
}int main()
{int a = Func1(1, 2, 3, 4);double b = Func2(1.0, 2.0, 3.0, 4.0);int c = Func3(1, 2.0, 3, 4.0);int d = Func4(1, 2, 3, 4, 5, 6);int e = Func5(1, 2, 3, 4, 5.0, 6.0);int f = Func6(1, 2, 3, 4, 5.0, 6, 7.0, 8);return 0;
}/*Func1
00007FF7AF04170E  mov         r9d,4
00007FF7AF041714  mov         r8d,3
00007FF7AF04171A  mov         edx,2
00007FF7AF04171F  mov         ecx,1
00007FF7AF041724  call        Func1 (07FF7AF0410B9h)
00007FF7AF041729  mov         dword ptr [a],eax  
*//*Func2
00007FF7F7723C7C  movsd       xmm3,mmword ptr [__real@4010000000000000 (07FF7F7729C88h)]
00007FF7F7723C84  movsd       xmm2,mmword ptr [__real@4008000000000000 (07FF7F7729C50h)]
00007FF7F7723C8C  movsd       xmm1,mmword ptr [__real@4000000000000000 (07FF7F7729C30h)]
00007FF7F7723C94  movsd       xmm0,mmword ptr [__real@3ff0000000000000 (07FF7F7729BD8h)]
00007FF7F7723C9C  call        Func2 (07FF7F7721343h)
00007FF7F7723CA1  movsd       mmword ptr [b],xmm0  
*//*Func3movsd       xmm3,mmword ptr [__real@4010000000000000 (07FF7103D9C30h)]
00007FF7103D3624  mov         r8d,3
00007FF7103D362A  movsd       xmm1,mmword ptr [__real@4000000000000000 (07FF7103D9BD8h)]
00007FF7103D3632  mov         ecx,1
00007FF7103D3637  call        Func3 (07FF7103D133Eh)  

浮点参数和整型参数是一起计数的
  意味着每列中,只能取一个

rcx  rdx  r8   r9
  xmm0 xmm1 xmm2 xmm3

*/ 

/*Func400007FF6F96848C9 mov dword ptr [rsp+28h],6 00007FF6F96848D1 mov dword ptr [rsp+20h],5 00007FF6F96848D9 mov r9d,4 00007FF6F96848DF mov r8d,3 00007FF6F96848E5 mov edx,2 00007FF6F96848EA mov ecx,1 00007FF6F96848EF call Func4 (07FF6F968134Dh) 00007FF6F96848F4 mov dword ptr [d],eax *//*Func500007FF7364E5307 movsd xmm0,mmword ptr [__real@4018000000000000 (07FF7364E9D78h)] 00007FF7364E530F movsd mmword ptr [rsp+28h],xmm0 00007FF7364E5315 movsd xmm0,mmword ptr [__real@4014000000000000 (07FF7364E9CB0h)] 00007FF7364E531D movsd mmword ptr [rsp+20h],xmm0 00007FF7364E5323 mov r9d,4 00007FF7364E5329 mov r8d,3 00007FF7364E532F mov edx,2 00007FF7364E5334 mov ecx,1 00007FF7364E5339 call Func5 (07FF7364E1352h) 00007FF7364E533E mov dword ptr [e],eax*//*Func6 00007FF7519C53D4 mov dword ptr [rsp+38h],8 00007FF7519C53DC movsd xmm0,mmword ptr [__real@401c000000000000 (07FF7519C9D80h)] 00007FF7519C53E4 movsd mmword ptr [rsp+30h],xmm0 00007FF7519C53EA mov dword ptr [rsp+28h],6 00007FF7519C53F2 movsd xmm0,mmword ptr [__real@4014000000000000 (07FF7519C9CB0h)] 00007FF7519C53FA movsd mmword ptr [rsp+20h],xmm0 00007FF7519C5400 mov r9d,4 00007FF7519C5406 mov r8d,3 00007FF7519C540C mov edx,2 00007FF7519C5411 mov ecx,1 00007FF7519C5416 call Func6 (07FF7519C1357h) 00007FF7519C541B mov dword ptr [f],eax *///这样应该是全部的情况了

补充,类成员函数

class thiscall
{
public:static int test(int a, int b, int c, int d){return a + b + c + d;}int test2(int a, int b, int c, int d){return a + b + c + d;}int _stdcall test3(int a, int b, int c, int d){return a + b + c + d;}int _cdecl test4(int a, int b, int c, int d){return a + b + c + d;}
};int main()
{thiscall obj; int a = thiscall::test(1, 2, 3, 4);int b = obj.test2(2, 3, 4, 5);int c = obj.test3(3, 4, 5, 6);int d = obj.test4(5, 6, 7, 8);return 0;
}//test的
//008D1748  push        4
//008D174A  push        3
//008D174C  push        2
//008D174E  push        1
//008D1750  call        thiscall::test(08D1226h)          这似乎是 _cdecl 不是_stdcall ,后者是callee来平衡堆栈的
//008D1755  add         esp, 10h                          //test2的
//008D175B  push        5
//008D175D  push        4
//008D175F  push        3
//008D1761  push        2
//008D1763  lea         ecx, [obj]
//008D1766  call        thiscall::test2(08D1082h)//test3的
//00AE464E  push        6
//00AE4650  push        5
//00AE4652  push        4
//00AE4654  push        3
//00AE4656  lea         eax, [obj]
//00AE4659  push        eax
//00AE465A  call        thiscall::test3(0AE1348h)//test4的//003A4D12  push        8
//003A4D14  push        7
//003A4D16  push        6
//003A4D18  push        5
//003A4D1A  lea         eax, [obj]
//003A4D1D  push        eax
//003A4D1E  call        thiscall::test4(03A134Dh)
//003A4D23  add         esp, 14h//x64下//test
//00007FF6280918DF  mov         r9d, 4
//00007FF6280918E5  mov         r8d, 3
//00007FF6280918EB  mov         edx, 2
//00007FF6280918F0  mov         ecx, 1
//00007FF6280918F5  call        thiscall::test(07FF628091221h)
//00007FF6280918FA  mov         dword ptr[a], eax//test2
//00007FF6280918FD  mov         dword ptr[rsp + 20h], 5
//00007FF628091905  mov         r9d, 4
//00007FF62809190B  mov         r8d, 3
//00007FF628091911  mov         edx, 2
//00007FF628091916  lea         rcx, [obj]
//00007FF62809191A  call        thiscall::test2(07FF628091339h)
//00007FF62809191F  mov         dword ptr[b], eax//test3
//00007FF628091922  mov         dword ptr[rsp + 20h], 6
//00007FF62809192A  mov         r9d, 5
//00007FF628091930  mov         r8d, 4
//00007FF628091936  mov         edx, 3
//00007FF62809193B  lea         rcx, [obj]
//00007FF62809193F  call        thiscall::test3(07FF628091087h)
//00007FF628091944  mov         dword ptr[c], eax//test4
//00007FF628091947  mov         dword ptr[rsp + 20h], 8
//00007FF62809194F  mov         r9d, 7
//00007FF628091955  mov         r8d, 6
//00007FF62809195B  mov         edx, 5
//00007FF628091960  lea         rcx, [obj]
//00007FF628091964  call        thiscall::test4(07FF62809133Eh)
//00007FF628091969  mov         dword ptr[d], eax//显然各种调用约定都被无视了,static不需要传对象,其他都一样.

转载于:https://www.cnblogs.com/cqubsj/p/6201529.html

相关文章:

cookie、session总结

前几天在调试第三方支付接口时碰到一个session失效问题&#xff0c;用了几天时间才搞明白&#xff0c;现在回想一下&#xff0c;主要还是由于cookie和session这一块的一些基本概念没有搞清楚&#xff0c;现总结一下。 浏览器使用HTTP协议作为应用层协议&#xff0c;而HTTP协议是…

glibc降级后怎么恢复 linux_Linux(CentOS)GLIBC出错补救方式

出于各种原因&#xff0c;我玩坏了我的系统.........主要出错原因是更改 /usr/lib64 下的 libc.so.6 等文件引起&#xff0c;具体错误及补救方式附上&#xff0c;希望可以帮到心里失火后来人&#xff1a;首先&#xff0c;不要随便重新启动&#xff01;&#xff01;&#xff01;…

将Eclipse代码导入到AndroidStudio的两种方式

实现步骤 1. 从Eclipse中导出Gradle build files 在Eclipse菜单中 File --> Export-->Generate Gradle build files接下来会到达警告界面&#xff0c;这里会提示AndroidStudio可以直接导入ADT的工程&#xff0c;先过&#xff0c;后面有直接导入的讲解。选中你的项目工程&…

微软浏览器适配问题前端_「图」微软新贡献:修复Chromium浏览器的奇怪触控板手势问题...

去年微软宣布计划成为Chromium项目的重要贡献者之一&#xff0c;希望为包括Edge和Chrome在内所有基于Chromium的浏览器带来更多改进和功能。在增强鼠标滚动和搜索功能之外&#xff0c;微软现在将部分精力放在部分Windows 10设备(例如Surface Pro系列和Surface Book系列)上奇怪的…

ruby gems列表

1 https://github.com/shageman/cobradeps 转载于:https://www.cnblogs.com/or2-/p/9268352.html

简明区块链原理

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 “区块链”应有特质&#xff1a; 使用了具有 “哈希链” (下文有解释) 形式的数据结构保存基础数据 有多个结点参与系统运行&#xff08;分布式…

Bash shell

一、认识bash shell 1、登录取得的shell就记录在/etc/passwd这个文件内 可以使用cat /etc/passwd查看 2、bash shell 功能 a. 命令记忆能力&#xff08;history&#xff09;&#xff0c;默认1000个&#xff0c;存在~/.bash_history文件 b. 命令与文件补全功能&#xff08;Tab键…

快过高铁!构建云分布式应用还能这样操作?!

先跟跟大家说一个中国历史上杰出的军事家、政治家&#xff0c;长长的胡子&#xff0c;红的发黑的脸&#xff0c;骑着一匹红色的马。没错&#xff01;他就是三国跑的最快的男人——曹操&#xff08;说曹操曹操到&#xff09;&#xff01; 不说笑了。 关羽&#xff0c;字云长&…

基于安卓的考试系统_基于安卓11定制!华为最新手机系统曝光:体验堪比苹果iOS!...

在最近的一场发布会上&#xff0c;华为正式宣布了自家的HMS和AppGallery服务&#xff0c;对标安卓Play商店和苹果Appstore商店&#xff0c;这一举措让华为再度登上风口浪尖。这种做法在业界人士眼里的目的只有一个&#xff0c;华为要脱离安卓系统自立门户&#xff0c;从建立第三…

区块链前世今生

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 比特币的起源 2008年&#xff0c;一位化名为中本聪的人&#xff0c;在一篇为《比特币&#xff1a;一个点对点的电子现金系统》的论文中首先提出了比…

前端知识之HTML内容

参考:http://www.cnblogs.com/liwenzhou/p/7988087.html HTML介绍 Web服务本质 import socketsk socket.socket()sk.bind(("127.0.0.1", 8080)) sk.listen(5)while True:conn, addr sk.accept()data conn.recv(8096)conn.send(b"HTTP/1.1 200 OK\r\n\r\n&qu…

征途linux mysql_MySql征途之mysql常用命令

mysql征程之mysql常用命令一、连接MySql语法&#xff1a; mysql -h 主机地址 -u 用户名 &#xff0d;p 用户密码例1&#xff1a;连接到本机上的MYSQL。键入命令mysql -u root -p(本地连接 主机地址可以不写)&#xff0c;回车后提示你输入密码&#xff0c;输入正确之后&#xff…

区块链+物联网=?

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 区块链与物联网(IoT)的交叉应用已成为最有前途的区块链用例之一。在过去的几个月里&#xff0c;IoTeX一直与我们的战略合作伙伴合作&#xff0c;并…

mysql 中文截取_mysql 截取中文字符

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航&#xff0c;为用户…

2016年度工作总结

一想起来今天全办公室人都在写年终总结的场景&#xff0c;不由自主的笑开了颜&#xff0c;因为我把一名程序媛的年终总结硬生生的写成了一篇“散文”&#xff0c;而且还是很“冒牌”的总结&#xff0c;以下就是“散文版”的总结。 在紧锣密鼓的业务GO推广上线期间&#xff0c;x…

django-后台sms管理系统的css框架

django-后台sms管理系统的css框架 地址&#xff1a;https://adminlte.io/ 下载代码。使用index.html的页面及相关文件 通过下在线检查adminlte.io的后台的各种模块元素&#xff0c;仿写。posted on 2018-07-06 11:41 .Tang 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.c…

go语言学习-iota

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 Go没有枚举类型,可以用常量模拟可以用iota生成从0 开始的自动增长的枚举值。按行递增,可以省略后续行的 iota 关键字. iota 在一个const()中每次累…

mysql中查询表格属性

&#xff08;1&#xff09;获取数据库表格列设置的长度&#xff0c;SQL SELECT CHARACTER_MAXIMUM_LENGTH FROM information_schema.COLUMNS WHERE TABLE_NAME表名 AND TABLE_SCHEMA数据库名 AND COLUMN_NAME字段名 &#xff08;1&#xff09;查出数据库表格所有的属性 SELECT …

BZOJ 2190: [SDOI2008]仪仗队

2190: [SDOI2008]仪仗队 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 2689 Solved: 1713[Submit][Status][Discuss]Description 作为体育委员&#xff0c;C君负责这次运动会仪仗队的训练。仪仗队是由学生组成的N * N的方阵&#xff0c;为了保证队伍在行进中整齐划一&…

mysql下载解压安装_mysql zip 解压安装

系统&#xff1a;win10 专业版mysql 5.7.21 解压安装。对于Windows&#xff0c;mysql官网推荐使用可执行文件进行安装&#xff0c;这里我还是暂时用noinstall 解压zip文件来安装从zip压缩包安装mysql的过程如下&#xff1a;1. 解压文档到指定目录2. 创建选项文件如果您在运行服…

go 性能相关总结

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 性能测试基本概念 基本概念 Benchmark: 性能测试 ns/op: 纳秒/每个操作&#xff0c;前面数值越小越快 命令 go test -c go test -test.bench. -t…

64位 ubuntu android studio gradle 权限不够 缺少文件和权限导致

安装 32位 库文件 sudo apt-get install lib32z1 给文件夹加权限 chmod 777 -R SDK chmod 777 -R android-studio -R表示所有子文件和文件夹 模拟器需要下载 gcc3-libs.tar.bz2 把文件解压移动到 /lib 即可转载于:https://www.cnblogs.com/exayong/p/6216077.html

微信是个坑货4-网页授权

功能&#xff1a;认证服务号通过网页授权获取用户信息 --公众号后台配置 》此次设置的是网页授权域名,设置成你调试的域名或者正式备案的域名&#xff08;不带http或https&#xff09;。 --自定义菜单设置 设置参数&#xff1a; appid&#xff1a;微信公众号的appid uri&#x…

root 123 mysql_MySQL常用命令

1、查看数据库状态 及启动停止/etc/init.d/mysqld status/etc/init.d/mysqld start/etc/init.d/mysqld stop2、给用户配置初始密码123456&#xff1a;mysqladmin -u root -password 1234563、修改root用户密码为 abc123mysqladmin -u root -p123456 password abc1234、如果想去…

想挖矿?不如先学习一下以太坊

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 许多使用点对点协议且基于区块链的项目在性能和吞吐量上夸大其辞。在研发阶段&#xff0c;这些项目已经出现了一些创新&#xff0c;但是一旦这些协…

Kubernetes入门

简介  它是一个全新的基于容器技术的分布式解决方案&#xff0c;基于强大的自动化机制解决传统系统架构中负载均衡和实施部署的问题&#xff0c;从而节省了30%开发成本&#xff0c;其次具有完备的集群能力&#xff0c; 包括服务注册、服务发现、故障的发现和修复、服务滚动升…

ubuntu 14.04安装postgresql最新版本

官网&#xff1a; https://www.postgresql.org/download/linux/ubuntu/ -------------------------------------------------------------------------------------------------------------------- 另一篇文章&#xff0c;讲的差不多也是这个&#xff1a; http://tecadmin.net…

c++ mysql ctime_C++操作mysql数据库范例代码

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家&#xff0c;也给大家做个参考。#include #include void TestMySQL(){TRACE("MySQL client version: %s\n",mysql_get_client_info());MYSQL *conn mysql_init(NULL);if (conn NULL…

链客区块链技术问答社区

链客是中国领先的区块链垂直领域技术问答社区&#xff08;www.liankexing.com&#xff09;&#xff0c;旨在为大家提供一个直接、高效的技术交流平台&#xff0c;区块链技术爱好者遇到的每一个问题&#xff0c;链客做到有问必答&#xff01; 在这里&#xff1a; ①海量的真实…

oracle imp dmp

imp helpy导入自己的表&#xff1a;exp scott/tigerorcl tables(student, address) fileD:\scott_stu_add.dmp logD:\scott_stu_add.logimp scott/tigerorcl fileD:\scott_stu_add.dmp logD:log.logimp scott/tigerorcl fileD:\scott_stu_add.dmp tablesstudent 导入别人的表&a…