首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C++调用C语言写成的动态链接库

    C++在语法上是兼容C的,但是这不代表使用C语言不做任何处理直接写成的动态链接库就可以被C++给调用。由于C++引入了函数重载的机制,而这个机制的实现是在编译器层面的。编译器在“生成”函数符号信息时,不能仅仅通过函数名,因为重载函数的函数名都是一样的,所以它还要根据函数参数,命名空间等信息来确定唯一的函数签名;而C语言没有函数重载机制,C语言编译器在处理的时候通过函数名就可以唯一确定一个函数。这就导致C语言和C++语言生成的函数签名是不同的,故不能不做任何处理直接调用。下面我们来看一下C和C++编译同样一段代码为动态链接库以后的,它们的函数符号信息有什么不一样。

    02

    开篇:预备知识---1

    ​ 大家好,好久不写博客了,久违的感觉。这篇文章是 C/C++ 程序设计专栏的第一篇文章。说实话这个专栏申请了有半年多了,但是到目前为止仍然没有文章产出,本来打算今年年初开始动笔,其中又因为毕业的相关事宜耽误了很长时间,想想真的是非常惭愧。从另一个方面也暴露出了自己在时间管理方面能力的不足。以后真的是得多注意这方面的东西。好了,我们还是进入正题吧。说实话 C语言是我最早接触的编程语言,大一大二写算法代码的时候都是用的 C 和 C++,当时觉得 C语言从某些方面来看非常鸡肋,比如说我们用标准 C语言 语法无法写出漂亮的图形化界面,只适用于做数据处理。后来当我真正对 C语言有了一个更加深入的了解了之后才发现以前的自己太年轻。想要写出图形界面我们随便使用一种图形化框架(MFC、QT 等)就可以达到目的。这些图形化框架是遵循标准 C/C++ 语法的,在这个基础上各种图形库框架提供了各种类库来供开发者使用,这些类库就包括了一些图形化控件(窗口、按钮、对话框等)。因此我们借助这些框架提供的各种类库组合起来就可以写出漂亮的界面。而当我们熟悉了这些框架的相关原理(当然这里面包括很多东西,比如窗口的声明周期、组件的绘制原理和时间、整个程序框声明周期、消息处理机制等)后。回过头来我们会发现这些框架是在 C/C++ 语法的基础上将操作系统提供的一些接口以某种思想(面向对象编程)封装了起来,让我们可以通过调用其封装的相关 API 来间接的调用操作系统的相关接口。其本质上还是需要遵循 C/C++ 语法规则(当然,能设计出一款图形库框架是非常了不起的)。因此本专栏的重点是放在 C/C++ 的语言特性和一些必要的底层原理上,不会从 0 开始介绍 C/C++ 的语法。同时,对于图形化相关的东西不会过多介绍。也算是对 C/C++ 做一个学习总结。作者水平有限,如果文章中有不正确之处还望多多指点,谢谢大家。

    04

    自己常用的vscode的插件备忘录

    1、42header、koroFileHeader、psioniq File Header这三个是由于插入文件说明,函数说明的。我在编写c语言的时候经常用到的。记得要修改快捷方式。 2、C/C++、C/C++Snippets,这两个是用于语法高亮,代码模板 3、C/C++ Compile Run这个可以用于一键编译运行c语言,需要gcc的支持,安装好gcc才行 4、C++ Intellisense这个是智能提示用的, 5、Code Runner结合C/C++ Compile Run一起使用的 6、TCC Compile Run目前我使用这个来一键编译运行c语言。就是compile C script with Tiny C Complier,类似吧c语言当做一个脚本语言了,超级方便好用,墙裂推荐,tcc编译器也在ubuntu下可以自己apt-get安装。其作者和linus一样是大神。 7、代码主题类,个人比较喜欢vscode默认的主题(dark+),c语言中,看起来比较舒服也没有斜体字,另外,Oceanic Next for VS Code也不错,其他都不怎么喜欢 8、filesize这个是显示文件大小的 9、Guides这个是用在代码中添加引导线的,适合找括号等,尤其是在代码比较长的情况下比较方便 10、Chinese (Simplified) Language Pack for Visual Studio Code这个是不多说了,安装就是了。 11、Bracket Pair Colorizer 2这个是很好的各种括号类的好亮匹配,总之就是很好了。 12、Bracket Select刚刚今天发现的插件,可以快捷键选择括号中的内容,这个也是很不错的啊~~ 13、bookmark,书签 14、AZ AL Dev Tools/AL Code Outline类似于函数大纲的,函数列表等等的信息 15、文件夹的主题vscode-icons、Material Icon Theme两个都不错 16、vscode-pdf,查看pdf的。 17、Markdown Preview Enhanced,预览markdown文件的。 18、any-rule正则表达式的 19、astyle,代码美化的,这个怎能忘记

    04
    领券