首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Xilinx sdk:链接器不会跨c/c++链接

Xilinx SDK是一款由Xilinx开发的集成开发环境(IDE),用于开发和调试Xilinx FPGA和SoC芯片上的嵌入式软件。Xilinx SDK提供了一套完整的工具链,包括编译器、调试器、链接器等,以支持开发人员在FPGA和SoC平台上进行软件开发。

在Xilinx SDK中,链接器(Linker)是一个重要的工具,用于将编译后的目标文件(.o文件)和库文件(.a文件)链接成可执行文件。链接器负责解析目标文件中的符号引用,并将其与符号定义进行匹配,最终生成可执行文件。

链接器在进行链接时,会按照一定的规则进行符号解析和重定位。在C/C++开发中,链接器通常不会跨C/C++链接,即不会将C代码和C++代码进行混合链接。这是因为C和C++在编译过程中生成的目标文件格式不同,C++编译器会对C++代码进行一些特殊处理,导致C和C++之间的符号无法直接匹配。

然而,在某些情况下,我们可能需要在C和C++之间进行链接,例如在C++代码中调用了C语言编写的函数。为了解决这个问题,可以使用extern "C"关键字来告诉C++编译器按照C语言的方式进行符号解析和重定位。具体做法是在C++代码中使用extern "C"声明C语言函数的原型,以便C++编译器正确处理C语言函数的调用。

总结起来,Xilinx SDK中的链接器不会跨C/C++链接,即不会将C代码和C++代码进行混合链接。如果需要在C++代码中调用C语言函数,可以使用extern "C"关键字来解决符号匹配的问题。

关于Xilinx SDK的更多信息和使用方法,您可以参考腾讯云的Xilinx FPGA开发平台产品介绍页面:Xilinx FPGA开发平台

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • [干货]手把手教你用Zedboard学习Linux移植和驱动开发

    部分硬件设计中需要CPU完成对电路寄存器的配置,为了完成Zedboard对FPGA上部分寄存器的配置功能,可以在PS单元(处理器系统)上运行裸机程序(无操作系统支持)完成和PL单元(FPGA部分)的数据交互功能,此时PS单元更像单片机开发;另一种方法是PS单元运行Linux操作系统,通过驱动程序和应用程序完成对硬件寄存器的读写操作,并且Linux有着完整的网络协议栈支持,后续可拓展性更强,可以更好的发挥ZYNQ这种异构架构芯片的性能。主要分为两部分,分别阐述Zedboard中FPGA和处理器互联总线与硬件设计和Zedboard处理器系统上嵌入式Linux的移植与通过驱动和应用程序简单配置FPGA寄存器的实现。上次介绍了没有操作系统下的驱动和应用程序开发,本文介绍带操作系统的驱动和应用程序开发。

    05

    Thoughtworks 第27期技术雷达——语言和框架象限选编

    KotestKotest(原名 KotlinTest)是 Kotlin 生态中的一个独立测试工具,它在我们的团队各式各样的 Kotlin 实现(原生、 JVM 或 JavaScript)中越来越受到关注。Kotest 的主要优点是它提供了丰富的测试风格来搭建测试套件,其中还有一套全面的匹配器,可以帮助你使用优雅的内部领域专用语言(DSL)编写表达式测试用例。Kotest 除了支持基于属性的测试 之外,我们团队也看好它可靠的 IntelliJ 插件和支持社区。我们的许多开发者将它列为首选并推荐那些仍在 Kotlin 中使用 JUnit 的开发者考虑切换到 Kotest。 React QueryReact Query 通常被描述为 React 缺失的数据获取库。获取,缓存,同步和更新服务器状态是许多 React 应用程序常见的需求,尽管这些需求易于理解,但众所周知,正确地实现这些需求非常困难。React Query 提供了一种基于 hooks 的更直接的方式。它与现有的基于 promise 机制的异步数据获取库协同工作,如 axios、Fetch 和 GraphQL。作为应用程序开发人员,你只需要传递一个解析数据的函数,其余的事情可以留给框架完成。该工具开箱即用,但也可以按需进行配置。它的开发者工具也能帮助刚接触此框架的开发人员理解其工作原理,遗憾的是,其开发者工具尚不支持 React Native。对于 React Native,你可以使用第三方开发者工具插件 Flipper。基于我们的经验,React Query 的第三版为我们的客户提供了生产环境所需的稳定性。

    01
    领券