Microsoft Visual C++是否未使用带有浮点的C/C++调用约定
Is Microsoft Visual C++ not using the C/C++ calling conventions with floats?
我一直在为我的编译器项目研究浮点数,尤其是如何将它们从十进制符号转换为字节。我确实找到了所有问题的答案,但这段YouTube视频让我很担心。
这家伙很好地解释了SSE和指令集,我确实理解了所有内容,但他也提到,当涉及到floats
时,Microsoft's Visual C++
显然没有使用_stdcall
调用约定。这对我来说太可怕了,因为我计划在自己的编译器中使用C调用约定,当然也要调用外部函数。
基本问题:我必须担心这件事吗,或者这是真的吗?
这主要是因为Visual C++在将代码导出到DLL时是否也会这样做,因为这可能会成为一个问题。
正如MSchanges在注释中指出的那样,不存在"C/C++调用约定"这样的东西。C和C++的调用约定取决于平台(编译器、运行时、操作系统和硬件),在C或C++标准中没有提及。
听起来你想使用__stdcall
,据我所知,它与任何实际的标准都无关,尽管它的名字是这样的。
相关文章:
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- 为什么使用 "this" 指针调用派生成员函数?
- 函数调用中参数的顺序重要吗
- OpenGL - 在抛出"__gnu_cxx::recursive_init_error"实例后终止调用?
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 在c++类上调用void函数
- 为什么 std::unique 不调用 std::sort?
- 调用专用模板时出错"no matching function for call to [...]"
- 选择要调用的构造函数
- C++为什么尽管我调用了void函数,它却不起作用
- 构造函数正在调用一个使用当前类类型的函数
- 变量没有改变?通过向量的函数调用
- 没有为自己的结构调用列表推回方法
- 调用'begin(int [n])'没有匹配函数
- 什么时候调用析构函数
- 如何用参数值调用函数(仅在运行时已知)
- std::cout.imbue()多重调用
- 函数何时会在c++中包含stack_Unwind_Resume调用