首页 > 其他分享 >WDK7600编译驱动时链接asm的一些设置

WDK7600编译驱动时链接asm的一些设置

时间:2024-08-21 16:38:59浏览次数:9  
标签:__ 文件 sources 编译 WDK7600 int64 asm

把一些以前零碎的知识点记下来,完整内容请参考 https://zhuanlan.zhihu.com/p/638768999

主要于关于嵌入汇编时的一些写法。

如果你要编译的是32位驱动,且有一个asm文件需要参与编译(其实32位可以直接内联汇编的,所以一般不需要单独写成asm文件,不过也记录一下)

那么要把这个文件放在源码目录(也就是sources文件所在的目录)下面的i386目录下,然后在sources文件中添加以下内容:

I386_SOURCES= i386\test86.asm

如果是要编译的是64位驱动,这时如果要直接写汇编的话就不能内联了,必须单独写在asm文件里,放把它放在amd64目录下。
然后在sources文件中添加以下内容:

AMD64_SOURCES = amd64\myAdd.asm  

当然了,在asm文件中定义的函数,在C文件中使用时,需要声明一下的,不然编译器找不到这个函数。

extern "C" __int64 myAdd(__int64  a, __int64  b);

 

标签:__,文件,sources,编译,WDK7600,int64,asm
From: https://www.cnblogs.com/achillis/p/18371960

相关文章

  • 解决lazarus 3.xx后在linux编译为Qt出错方法
    今天用lazarus3.4在银河麒麟将应用编译为Qt5出现以下错误信息:Warning:linker:/usr/bin/ld.bfd:/home/lb/fpcupdeluxe34/lazarus/lcl/units/aarch64-linux/qt5/qtint.o:infunction`QTINT$_$TQTWIDGETSET_$__$$_CREATE$$TQTWIDGETSET':Error:qtint.pp:(.text.n_qtint$_$t......
  • C语言编译预处理详细易懂版
    C语言允许在源程序中包含编译预处理命令,他们以"#"开头,包括宏定义、文件包含和条件编译。本博客主要详细介绍宏定义、文件包含和条件编译。一、宏定义1、无参数的宏定义是指用一个指定的标识符来代表一个字符串,一般格式如下:#define 宏名 字符串说明:①#表示预处理命......
  • 【Linux】gnome桌面环境切换KDE Plasma
    @目录安装KDEPlasma桌面环境添加软件源并更新apt安装kubuntu-desktop(作者没有成功)aptitude安装kubuntu-desktop多次aptitudeinstall(特别重要特别重要)其他kde软件包卸载gnome桌面Ubuntu自带的桌面环境是gnome,本文提供了安装KDEPlasma的教程,并解决了其中可能遇到的一些问题。......
  • lazarus 编译时切换QT5/GTK2的方法
    lazarus编译时可以随时切换QT5/GTK2,方法如下:在project菜单-->options-->compileroptions-->additionsandoverrides点Set"LCLWidgetType"选择QT5或其他然后重新编译应用就可以。带menu、combobox等控件(在银河麒麟)的应用,用GTK2时有深灰的背景,QT5编译的整体会好点。注意:fastrepor......
  • 深入理解Java中的Bytecode操作与ASM框架
    引言Java字节码是Java虚拟机(JVM)执行的一种中间语言,它是Java源代码编译后的结果。字节码操作是指直接操作Java类文件的字节码,通过修改字节码可以进行一些动态的、灵活的程序操作。在实际开发中,字节码操作有诸多应用场景,如性能优化、代码生成、运行时代理等。ASM框架是一个强大......
  • ESP-WROOM32编译带LVGL的MicroPython | lv_micropython for ESP32
    ESP-WROOM32编译带LVGL的MicroPython|lv_micropythonforESP32有关LVGL和MicroPython的详细信息,请访问以下链接:lv_micropythonGitHub仓库ESP32端口目录说明lv_micropython已经包含了这些驱动程序:lv_micropython最大支持到v4.4版本,因此需要下载esp-idfv4.4......
  • Windows上用Intel编译netCDF-Fortran
    1.下载并安装netCDF-Chttps://downloads.unidata.ucar.edu/netcdf/安装目录D:\software\netCDF4.9.2 2.下载netCDF-Fortran3.编译netCDF-Fortran(1)解压源代码netcdf-fortran-4.6.1.zip到D:\software\netcdf-fortran-4.6.1\source(2)打开InteloneAPIcommandpromptforIn......
  • 深入Swift内核:编译器诊断信息的奥秘与实践
    标题:深入Swift内核:编译器诊断信息的奥秘与实践在Swift语言的编程世界中,编译器的诊断信息是开发者与编译器沟通的桥梁。它不仅帮助开发者快速定位问题,还提供了解决问题的线索。本文将深入探讨Swift编译器的诊断信息工作原理,并结合代码示例,揭示如何有效利用这些信息优化代码......
  • Swift编译器代码生成策略全解析:优化你的性能与效率
    标题:Swift编译器代码生成策略全解析:优化你的性能与效率在Swift编程的高性能世界里,编译器的代码生成选项扮演着至关重要的角色。它们不仅影响应用的性能,还决定了最终代码的效率和大小。本文将深入探讨Swift编译器提供的代码生成选项,并通过实际代码示例,指导你如何利用这些选......
  • 编译 wolfssl 库
    wolfsslgithub: https://github.com/wolfSSL/wolfssl 编译.lib或者.dllwolfssl很好的提供了win32的工程=》sln文件这样就不用折腾CMakeLists文件了,使用VisualStudio打开sln文件后,设置好Static编译库即可,开箱即用    编译.a文件如果需......