VScode编译多文件执行与配置终端命令行

这篇具有很好参考价值的文章主要介绍了VScode编译多文件执行与配置终端命令行。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、编译多文件执行

1、配置文件使多文件执行

vscode 的配置分两类,一是全局的用户配置,二是当前工作区配置。vscode 打开的文件夹的根目录是一个工作区,.vscode目录就是存放当前工作区相关配置文件的目录。

这样分享项目时,也把该项目的 vscode 配置分享出去了,保证了协同工作开发环境的统一性。

.vscode目录下配置文件:

c_cpp_properties.json:是用于配置编译器环境的,包括启动器代号、位数(这些是自定义的)、编译选项、启动设置、编译模式等;includePath指向C/C++标准库、用户头文件所在位置;
setting.json:vscode编辑器和插件的相关配置;
launch.json:调试配置文件;
task.json:任务配置。

配置文件中一些常见的配置信息:

version:版本号,不用修改
configurations:数组类型,用来配置 每一项调试任务的具体配置信息
type:调试环境的具体类型 node、java、cppdbg 等等
name:调试任务的名称,用与在下拉列表中展示
program:启动文件的路径,对于该路径中的变量,下面在介绍
request:调试模式,一共有两种模式
• env对象,程序启动是传递的环境变量
• args程序启动是传递的参数
• cwd程序启动是的跟目录配置
• window为 window 平台单独设置配置项
• linux为 linux 平台单独设置配置项
• osx为 Mac OS 平台单独设置配置项

${workspaceFolder}:项目文件夹在 VS Code 中打开的路径
${file}:当前开打开(激活)的文件
${relativeFile}:相对于 {workspaceFolder} 的文件路径
${fileBasename}:当前打开文件的名称
${fileBasenameNoExtension}:当前打开文件的名称,不带扩展名的
${fileExtname}:当前打开文件的扩展名
${fileDirname}:当前打开文件的文件夹名称

注:以下操作是在Vscode安装好后,gcc编译器下载好,环境变量添加完成后进行;


1.1 测试程序


下面编译一个测试程序:

打开vscode,在里面创建一个工程,工程下面分别创建以下几个文件夹“:build;src;inc;output;intput;doc”

build文件夹:用来存放编译好的可执行的.exe二进制文件

src文件夹:用来存放各个功能模块的源文件

inc文件夹:用来存放各个功能模块的头文件

output文件夹:用来存放输出文件

intput文件夹:用来存放输入文件

doc文件夹:用来存放项目工程的说明文档

好啦,来看看我们的工程长什么样!(仅是个人习惯,文件夹可以随自身习惯建立自己喜欢的)

vscode 编译多个文件,C语言,vscode,c语言

在src文件夹下创建main.c和rgb.c文件:

#include<sys.h>

int main(int argc, char *argv[])
{
    rgb();                                          
    printf("读取bin文件结果:success\n");   
    printf("long = %d,wide = %d\n",long,wide); 
    system("pause");
    return 0;
}
#include<rgb.h>

void rgb()
{                                      
    printf("读取rgb文件结果:success\n");   
}

在inc文件夹下创建sys.h和rgb.h文件:

#ifndef _SYS_H_
#define _SYS_H_

#include<rgb.h>

#define long 2560                   //宏定义分辨率
#define wide 1440  


#endif
#ifndef _RGB_H_
#define _RGB_H_

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

void rgb();

#endif

以上测试程序仅为了在inc下也有多个头文件,实际使用写在sys.h一个头文件里也可以。

1.2 修改配置文件

c_cpp_properties.json文件中,includePath指向C/C++标准库、用户头文件所在位置;c_cpp_properties.json文件夹如下:


{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceRoot}",
                "D:/mingw64/include/**",
                //"D:/my_code/isp_pipline/inc",                //新建工程项目加上该工程项目的头文件夹绝对路径
                "${workspaceFolder}\\inc",                     //新建工程项目加上该工程项目的头文件夹相对路径
                "D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
                "D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
                "D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
                "D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
                "D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
                "D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "__GNUC__=6",
                "__cdecl=__attribute__((__cdecl__))"
            ],
            "intelliSenseMode": "msvc-x64",
            "browse": {
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": "",
                "path": [
                    "${workspaceRoot}",
                    "D:/mingw64/include/**",
                    //"D:/my_code/isp_pipline/inc",                //新建工程项目加上该工程项目的头文件夹绝对路径
                    "${workspaceFolder}\\inc",                     //新建工程项目加上该工程项目的头文件夹相对路径
                    "D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
                    "D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
                    "D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
                    "D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
                    "D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
                    "D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
                ]
            }
        }
    ],
    "version": 4
}

可以在下面红框的位置加上上面新建工程中inc文件夹的绝对路径

vscode 编译多个文件,C语言,vscode,c语言

 当然上图中修改方式并不好,加上新建项目头文件绝对路径,那么每建立一个项目就要加一个绝对路径过于繁琐,可以在下图红框中位置加上"${workspaceFolder}\\inc",表示该项目文件夹下的inc文件夹,是相对路径。

vscode 编译多个文件,C语言,vscode,c语言

tasks.json文件:

{
 
    "version": "2.0.0",
    "tasks": [
        {//这个大括号里是‘构建’任务
            "label": "echo",//这个大括号里是‘构建’任务
            "type": "shell",//任务类型,process是vsc把预定义变量和转义解析后直接全部传给command;shell相当于先打开shell再输入命令,所以args还会经过shell再解析一遍
            "command": "gcc", //编译命令
            "args": [ //传给gcc命令的一系列参数
                "-g", //生成和调试有关的信息
                "${workspaceFolder}\\src\\*.c", //新建工程项目加上该工程项目的源码文件夹路径
                "-I","${workspaceFolder}\\inc", //新建工程项目加上该工程项目的头文件夹路径
                "-o", //指定输出文件的路径和名称
                "${workspaceFolder}\\build\\total.exe",//让可执行文件输出到源码文件所在的文件夹下的bin文件夹内,并且让它的名字和源码文件相同
                "-fexec-charset=GBK"//解决中文乱码
            ]
        }
    ],
    "presentation": {//执行这个任务时的一些其他设定
        "echo": true,//表示在执行任务时在终端要有输出
        "reveal": "always",//执行任务时是否跳转到终端面板,可以为always,silent,never
        "focus": false,//设为true后可以使执行task时焦点聚集在终端,但对编译来说,设为true没有意义,因为运行的时候才涉及到输入
        "panel": "new", //每次执行这个task时都新建一个终端面板
        "showReuseMessage": true,//控制是否显示“终端将被任务重用, 按任意键关闭”提示.
        "clear": false
    }
}

tasks.json文件修改下图红框的位置;为了调试方便使用-g让可执行程序包含调试信息,用-I指定头文件路径;-o指定输出文件的路径和名称

下面的参数表示意思如下:

gcc -g ${workspaceFolder}\\src\\*.c -I ${workspaceFolder}\\inc -o ${workspaceFolder}\\build\\total.exe

vscode 编译多个文件,C语言,vscode,c语言

编译的修改方式有很多,比如改成

gcc -c ${workspaceFolder}\\src\\*.c -I ${workspaceFolder}\\inc 也可以编译,如下图

vscode 编译多个文件,C语言,vscode,c语言

 launch.json文件如下:

{
    "version": "0.2.0",
    "configurations": [
        {/*这个大括号里是我们的‘调试(Debug)’配置,这里我解释下为什么写了两个,
        因为有时VSCode会有闪现的问题,也就是运行程序后窗口控制台可能会一闪而过,
        看不到结果,因此可以通过搭建configution的办法来解决,也就是搭建一个cmd的配置。*/
            "name": "(Windows) Launch",// 配置名称
            "type": "cppvsdbg",// 配置类型,cppdbg对应cpptools提供的调试功能;可以认为此处只能是cppdbg
            "request": "launch",// 请求配置类型,可以为launch(启动)或attach(附加)
            "program": "cmd",// 将要进行调试的程序的路径
            "preLaunchTask": "echo", // 调试开始前执行的任务,我们在调试前要编译构建。与tasks.json的label相对应,名字要一样
            "args": [ // 程序调试时传递给程序的命令行参数
                "/C",
                "${workspaceFolder}\\build\\total.exe",
                "&",
                "echo."
            ],
            "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,相当于在main上打断点
            "cwd": "${workspaceFolder}",// 调试程序时的工作目录,此处为源码文件所在目录
            "environment": [],// 环境变量,这里设为空即可
            "console": "externalTerminal",//使用单独的cmd窗口输出
        },
        {//这个大括号里是我们的‘调试(Debug)’配置
            "name": "(gdb) Launch",// 配置名称
            "type": "cppdbg",// 配置类型,cppdbg对应cpptools提供的调试功能;可以认为此处只能是cppdbg
            "request": "launch",// 请求配置类型,可以为launch(启动)或attach(附加)
            //"program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径
            "program": "C:\\Windows\\system32\\cmd.exe",
            "args": [
                "/C",
                "${workspaceFolder}\\build\\total.exe",
                "&",
                "pause"
            ], // 程序调试时传递给程序的命令行参数,
            "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,相当于在main上打断点
            "cwd": "${workspaceFolder}",// 调试程序时的工作目录,此处为源码文件所在目录
            "environment": [],// 环境变量,这里设为空即可
            //"console": "externalTerminal",// 使用单独的cmd窗口输出
            "externalConsole": true,
            "MIMode": "gdb", //指定连接的调试器,gdb是minGW中的调试程序
            "miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe",//指定调试器所在路径,如果你的minGW装在别的地方,则要改成你自己的路径,注意间隔是\\
            "preLaunchTask": "echo",//调试开始前执行的任务,这里和task.json的label相对应
        }
    ]
}

将下图红框中的位置改为需要输出的可执行文件的路径即可,调试使用的路径。

vscode 编译多个文件,C语言,vscode,c语言

 setting.json不做修改

{
    
    "files.associations": {
        "cctype": "c",
        "climits": "c",
        "cmath": "c",
        "cstdarg": "c",
        "cstdint": "c",
        "cstdio": "c",
        "cstdlib": "c",
        "limits": "c",
        "type_traits": "c"
    }
     
}

如下图所示,修改上方配置后,按F5测试代码生成结果如下红框中,build文件夹下生成了total.exe可执行文件;终端上是编译命令;vscode 编译多个文件,C语言,vscode,c语言

2、配置文件仅当前打开的文件执行

2.1 配置文件

针对只编译当前打开的文件,setting.json和c_cpp_properties.json不需要动;

 将tasks.json修改成下图红框中的内容;

表示编译当前打开的文件在当前建立的项目的build文件夹下生成当前打开的文件名称的exe可执行文件。

依据自己的习惯对生成文件的路径和名称做调节:${workspaceFolder}\\build\\${fileBasenameNoExtension}.exe

vscode 编译多个文件,C语言,vscode,c语言

{
   
    "version": "2.0.0",
    "tasks": [
        {//这个大括号里是‘构建’任务
            "label": "echo",//这个大括号里是‘构建’任务
            "type": "shell",//任务类型,process是vsc把预定义变量和转义解析后直接全部传给command;shell相当于先打开shell再输入命令,所以args还会经过shell再解析一遍
            "command": "gcc", //编译命令
            "args": [ //传给gcc命令的一系列参数
                /*"-g", //生成和调试有关的信息
                "${workspaceFolder}\\src\\*.c", //新建工程项目加上该工程项目的源码文件夹路径
                "-I","${workspaceFolder}\\inc", //新建工程项目加上该工程项目的头文件夹路径
                "-o", //指定输出文件的路径和名称
                "${workspaceFolder}\\build\\total.exe",//让可执行文件输出到源码文件所在的文件夹下的bin文件夹内,并且让它的名字和源码文件相同
                "-fexec-charset=GBK"//解决中文乱码*/

                "-g", //生成和调试有关的信息
                "${file}", //指定要编译的是当前文件
                "-o", //指定输出文件的路径和名称
                "${workspaceFolder}\\build\\${fileBasenameNoExtension}.exe",//让可执行文件输出到源码文件所在的文件夹下的bin文件夹内,并且让它的名字和源码文件相同
                "-fexec-charset=GBK"//解决中文乱码
            ]
        }
    ],
    "presentation": {//执行这个任务时的一些其他设定
        "echo": true,//表示在执行任务时在终端要有输出
        "reveal": "always",//执行任务时是否跳转到终端面板,可以为always,silent,never
        "focus": false,//设为true后可以使执行task时焦点聚集在终端,但对编译来说,设为true没有意义,因为运行的时候才涉及到输入
        "panel": "new", //每次执行这个task时都新建一个终端面板
        "showReuseMessage": true,//控制是否显示“终端将被任务重用, 按任意键关闭”提示.
        "clear": false
    }
}

launch.json需要将下图红框的位置修改成上面tasks.json指定生成的可执行文件exe文件的路径,程序调试需要找到该生成物的路径。

vscode 编译多个文件,C语言,vscode,c语言

2.2 测试程序

在src文件夹下新建一个test.c文件,测试程序如下:

//#include<sys.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(int argc, char *argv[])
{
    //rgb();                                          
    printf("读取bin文件结果:success\n");   
    //printf("long = %d,wide = %d\n",long,wide); 
    system("pause");
    return 0;
}

打开当前test.c文件,按F5调试生成结果如下图红框中,仅编译当前test.c文件并输出test.exe文件到build目录下,shell输出正确。

vscode 编译多个文件,C语言,vscode,c语言

3、配置文件指定的多个文件执行

这种方式仅作了解,并不实用;

两种方式:

1)将task.json文件改成下图红框所示,指定编译固定的.c文件,并输出指定的可执行文件到指定目录;

vscode 编译多个文件,C语言,vscode,c语言

将#include<sys.h>头文件修改成#include"..\inc\sys.h"相当路径;

将#include<rgb.h>头文件修改成#include"..\inc\rgb.h"相当路径;

注意是include""而不是include<>

#include<>:编译器直接从系统类库目录里查找头文件:

#include"":默认从项目当前目录查找头文件,所谓项目当前目录,就是项目工程文件(*.vcxproj)所在的目录

1、#include<>一般用于包含系统头文件,诸如stdlib.h、stdio.h、iostream等;

2、#include""一般用于包含自定义头文件,比如我们自定义的test.h、declare.h等。

直接在项目当前目录使用相对路径查找头文件,则去掉上方c_cpp_properties.json文件中,添加的includePath指路径也可以,留着也不影响;

vscode 编译多个文件,C语言,vscode,c语言

2)也可以将头文件修改成以下

将#include<sys.h>头文件修改成#include"D:\my_code\isp_pipline\inc\sys.h"绝对路径;

将#include<rgb.h>头文件修改成#include"D:\my_code\isp_pipline\inc\rgb.h"绝对路径;

关键是要让编译的.c文件能够查找到该头文件的位置。

输出结果如下红框,可以看到src文件夹下的test.c并没有编译进去,输出正确

vscode 编译多个文件,C语言,vscode,c语言

4、手动编译执行

在终端上输入命令gcc -g src/main.c src/rgb.c -o build/total.exe

将前两者联合编译为可调式文件total.exe放在build文件夹下;

编译的路径是在项目工程路径下,所以编译main.c的地址是src/main.c

.\build\total执行可执行文件,可以看到下图终端上输出结果正确。

vscode 编译多个文件,C语言,vscode,c语言

-g 可执行程序包含调试信息
-o 指定输出文件名
-c 只编译不链接

-I(i的大写):指定头文件路径(相对路径或觉得路径,建议相对路径)
-L  :指定连接的动态库或者静态库路径(相对路径或觉得路径,建议相对路径)
-l(L的小写):指定需要链接的库的名字
(链接静态库libc.a:-lc  链接动态库libc.so : -lc   注意:-l后面直接添加库名省区“lib”和“.so”或“.a”  )

问题:
问题1:-l(L的小写)链接的到底是动态库还是静态库

答案:如果链接路径下同时有 .so 和 .a  那优先链接 .so  

问题2:如果路径下同时有静态库和动态库如何链接静态库

答案:使用显示链接,       gcc      -l:lib***.a    (将静态库的名字显示写出来)

或者在 gcc 编译的时候 加入参数 -static -lXXX, 则可以添加路径下面的静态库。
 

二、配置终端命令行

有时会遇到终端上敲不了命令的情况:

1)新建终端

vscode 编译多个文件,C语言,vscode,c语言

 2)选择下图右下角红框默认配置文件

vscode 编译多个文件,C语言,vscode,c语言

3)选择第一项command prompt即可(系统自带的命令行程序);

vscode 编译多个文件,C语言,vscode,c语言

 4)终端上敲回车就可以敲命令了

vscode 编译多个文件,C语言,vscode,c语言

参考文章:

gcc -I -i -L -l 参数区别 / -l(静态库/动态库)_gcc -i_Kolde的博客-CSDN博客https://blog.csdn.net/abcdu1/article/details/86083295

VS Code 配置调试参数、launch.json 配置文件属性、task.json 变量替换、自动保存并格式化、空格和制表符、函数调用关系、文件搜索和全局搜索、_vscode launch.json_wohu007的博客-CSDN博客https://blog.csdn.net/wohu1104/article/details/111464778VSCode配置终端为cmd命令行程序的操作步骤_vscode配置cmd终端_Seekladoom的博客-CSDN博客https://blog.csdn.net/Seekladoom/article/details/124004221Vscode C语言实现多文件编译 - 知乎背景:很多大项目都是一人负责一个模块,在实际应用中不可能每个人都打开同一个main.c文件写自己的模块,因此会出现将函数在一个自定义的.h文件中声明,在一个.c文件中定义,并在main.c中调用的情况。此时将这个自…https://zhuanlan.zhihu.com/p/624788168Windows下用VScode编写C++程序如何添加并应用自定义头文件_Penguuuuiiiiiiin的博客-CSDN博客Windows下用VScode编写C++程序如何添加并应用自定义头文件关键词:Windows,CPP,VScode,自定义头文件一个编程小白,正在试着用vscode学CPP,标准库应用没有问题,但自定义的头文件和自定义头文件中声明的函数用不了。刚刚被这个问题整个半死,花了一晚上终于解决了。整体如下main函数引用了一个include文件夹中自定义的.h文件,并在lib文件夹里有相应.cp...https://blog.csdn.net/Penguuuuiiiiiiin/article/details/104191496文章来源地址https://www.toymoban.com/news/detail-738361.html

到了这里,关于VScode编译多文件执行与配置终端命令行的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在Linux(Ubuntu)中使用终端编译 && vscode安装

    虚拟机安装(我这里直接用的当初大数据实验的虚拟机) 常见的linux操作命令 创建及浏览文件 :新建test1文件夹,创建hello.cpp程序,并浏览文件夹。 vim打开文件 :修改内容。 :wq 保存并退出。 运行.cpp程序 : gcc -o hello hello.cpp ,编译完成后可以看到在和hello.cpp相同目录下有

    2024年03月12日
    浏览(31)
  • vscode 的终端不识别npm 命令

    1.问题描述 在vscode终端输入npm指令无法识别 但是在cmd就可以 在PowerShell输入npm同样无法识别 2.解决办法 点击火狐浏览器可以看到有一个路径 没有火狐浏览器点击vscode同样可以看到路径 注:箭头指向的就是 然后在我的电脑找到该路径 下的npm文件 删除该文件 删除后在vscode输入

    2024年02月11日
    浏览(26)
  • vscode编译多文件复杂项目时tasks.json launch.json 的配置

    本文介绍了利用vscode编译复杂工程的方法,包括gcc和cmke编译时 tasks.json launch.json c_cpp_properties.json 的具体配置。 使用例子 c/c++在windows下编译:使用MinGW gcc从零编译项目 编译程序所需要的指令 上述tasks.json相当于在脚本中执行以下几条命令 每一条命令都要在tasks.json中的tasks中

    2024年02月05日
    浏览(32)
  • VsCode 配置cmd 终端

    目录 1,选中文件,右键点击‘在集成终端中打开’  2,点击终端显示框中的下拉箭头,然后选择默认配置文件  3,选择这一项即可  4,配置好后,遇到  \\\'node\\\' 不是内部或外部命令,也不是可运行的程序 或批处理文件,报错。 1,选中文件,右键点击‘在集成终端中打开’

    2024年02月15日
    浏览(34)
  • 在vscode终端运行nodejs文件

    nodejs官网下载  安装路径需要更改为一个单独的文件夹来安装nodejs其他的地方不用更改也不用勾选。一键即可   注意插件安装完成后可能会出现乱码情况如下图:  这中情况可能是因为安装nodejs之后我们的vscode还没反应过来只需要关闭vscode重新启动一次就可以了。

    2024年02月06日
    浏览(23)
  • 在 Vscode 中配置终端集成bash

    步骤一:打开 Vscode 选择左上角 : 文件 - 首选项 - 设置 步骤二:搜索栏搜索: shell windows 步骤三: \\\"Git Bash\\\": 步骤四:重新打开Vscode 在目标文件下,鼠标右键

    2024年02月15日
    浏览(41)
  • mac在终端中使用vscode打开文件

    我们都知道使用open命令 + 指定文件(文件夹)便可打开文件,但是mac自带的文件应用不如vscode好用,如何直接使用一个命令采用vscode的方式来打开指定文件呢?步骤如下:

    2024年02月11日
    浏览(41)
  • vscode配置终端默认为git bash

    注意不要配置 git-bash.exe 的路径。 如果配置为 git-bash.exe 路径,则会单独打开 git bash 窗口,而不是嵌入 vscode 终端页签中。

    2024年02月07日
    浏览(33)
  • 在vscode中配置git bash终端

    将以下配置添加到vscode中的settings.json中 terminal.integrated.profiles.windows 这个配置项是就是添加终端的 terminal.integrated.defaultProfile.windows 这个是配置默认选项的 配置时的两个注意点: git bash终端的名字得是‘ Git-Bash ’, 不能 是“ Git Bash ”,否则vscode检测不到 path是git执行路径,p

    2024年02月12日
    浏览(87)
  • NDK编译系列:手机终端运行可执行文件的方法

    该方式为PC上的NDK工具生成的可执行文件和库,利用adb导入到手机(未采用Andriod Studio生成带界面的apk文件),直接通过windows的命令窗在安卓原生linux环境上运行仿真。 利用前文博客总结梳理的方法,假设已经生成了可在手机终端运行的二进制文件和相关动态库,我们该如何

    2024年02月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包