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

cargo build:我应该在编译后保留`target‘目录作为历史审计日志吗?

在进行cargo build编译后,是否保留target目录作为历史审计日志取决于具体的需求和情况。下面是一些考虑因素:

  1. 审计需求:如果你的项目需要进行审计或追踪编译历史,保留target目录可以提供编译过程的详细信息,包括编译时间、编译环境等。这对于一些安全敏感的项目可能是必要的。
  2. 空间占用:target目录通常会占用较大的磁盘空间,特别是对于大型项目或频繁进行编译的项目来说。如果空间有限或不需要保留历史审计日志,可以考虑定期清理target目录或不保留。
  3. 版本控制:如果你使用版本控制系统(如Git),target目录通常会被添加到.gitignore文件中,以避免将编译生成的文件包含在版本控制中。这是因为编译生成的文件可以通过重新编译来恢复,而不需要将其纳入版本控制。

总的来说,是否保留target目录作为历史审计日志取决于项目的具体需求和限制。如果审计需求重要且空间充足,可以保留;否则,可以考虑定期清理或不保留。

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

相关·内容

Rust学习笔记:1.2 两个典例及常用命令

的参数 这行代码以 ; 结尾 编译和运行时单独的两步 运行 Rust 程序之前必须先编译,命令为:rustc 源文件名 编译成功,会生成一个二进制文件 在 Windows 上还会生成一个 .pdb...源代码都应该在 src 目录下 顶层目录可以放置:README、许可信息、配置文件和其他与程序源码无关的文件 如果创建项目时没有使用 cargo,也可以把项目转化为使用 cargo: 把源代码文件移动到...src 下 创建 Cargo.toml 并填写相应的配置 构建 Cargo 项目 cargo build cargo build 创建可执行文件: Linux/Mac: target/debug/...\target\debug\hello_cargo.exe 第一次运行 cargo build 会在顶层目录生成 cargo.lock 文件 该文件负责追踪项目依赖的精确版本 不需要手动修改该文件 运行...为发布构建 cargo build --release 编译时会进行优化 代码会运行得更快,但是编译事件更长 会在 target/release 而不是 target/debug 生成可执行文件 两种配置

42010

第8章 | 测试与文档、依赖项、发布、工作空间

; Ok(()) } 标有 #[test] 的函数是有条件编译的。普通的 cargo buildcargo build --release 会跳过测试代码。...笔记 前端工程也同样的操作,一般推荐保留 .lock 文件,直接把 lock 文件放到仓库里 8.8 将 crate 发布到 crates.io 如果你已决定将这个蕨类植物模拟库作为开源软件发布,那么,...Cargo 的工作方式是,每个 crate 都有自己的构建目录 target,其中包含该 crate 的所有依赖项的单独构建。这些构建目录是完全独立的。...这些子目录中所有残存的 Cargo.lock 文件和 target 目录都需要删除。...完成此操作,任何 crate 中的 cargo build 都会自动在根目录(在本例中为 fernsoft/target)下创建和使用共享构建目录

6910
  • Rust学习笔记之Rust环境配置和入门指南

    紧随标签的3行语句提供了Cargo编译这个程序时需要的配置信息,它们分别是 程序名- hello_cargo 程序版本号 - 0.1.0 Rust版本号 - 2021 最后一行文本中[dependencies...❞ ---- 使用Cargo构建和运行项目 在hello_cargo项目目录下,Cargo可以通过下面的命令来完成「构建任务」。 cargo build 并通过....继续使用tree来查看文档目录 「首次使用」命令cargo build构建的时候,它会在「项目根目录」下创建一个名为Cargo.lock的新文件,这个文件记录了「当前项目所有依赖库的具体版本号」。...「不要手动编辑其中的内容,Cargo可以帮助你自动维护它」。 当然,我们可以把上述build和手动查找并执行debug目录下的可执行文件的两个操作合并成一个操作。...它生成的可执行文件会被放置在target/release目录下,而不是之前的target/debug目录下。 这种模式会以更长的编译时间为代价来优化代码,从而使代码拥有更好的「运行时性能」。

    1K10

    Rust之Cargo构建、运行、调试

    基本概念 Cargo是rustup安装自带的,Cargo 是 Rust 的构建系统和包管理器。 Rust 开发者常用 Cargo 来管理 Rust 工程和获取工程所依赖的库。...#创建一个库cargo build cargo new lib_name --lib--vcs none #构建编译,默认会编译target/debug/project_name下 cargo build...#运行 cargo run #构建编译发布版本,这会做很多优化,并编译target/release/project_name下 cargo build --release #如果你想修改cargo...cargo check 创建工程目录说明 cargo new helloworld可以创建一个helloword的工程目录目录结构如下: src下面是代码目录。...target编译的文件目录。 .gitignore主要功能是屏蔽某些文件,使得这些文件不被追踪(tracked),自然push也不会上传到github等平台。

    95920

    Go 和 Rust 都要!

    大家好,是张晋涛。标题实在没想到应该怎么取。 近期 Rust 社区/团队有些变动,所以再一次将 Rust 拉到大多数人眼前。 最近看到很多小伙伴说的话: “Rust 还值得学?...“Rust 还值得学?” 这些问题如果有人来问我,那我的回答是: 小孩子才做选择,都要!...准备 Rust 示例程序 Rust 的安装和 Cargo 工具的基本使用,这里就不介绍了。大家可以去 Rust 的官网进行了解。 用 Cargo 创建项目 我们先准备一个目录用来放本次示例的代码。...(创建的目录叫做 go-rust ) 然后使用 Rust 的 Cargo 工具创建一个名叫 rustdemo 的项目,这里由于我增加了 --lib 的选项,使用其内置的 library 模板。...编译 Rust 代码 我们需要修改下 Cargo.toml 文件以便进行编译。注意,这里我们增加了 crate-type = ["cdylib"] 和 libc 。

    52610

    Go 和 Rust 都要!

    最近看到很多小伙伴说的话: Rust 还值得学?社区是不是不稳定呀 Rust 和 Go 哪个好? Rust 还值得学? 这些问题如果有人来问我,那我的回答是: 小孩子才做选择,都要!...准备 Rust 示例程序 Rust 的安装和 Cargo 工具的基本使用,这里就不介绍了。大家可以去 Rust 的官网进行了解。 用 Cargo 创建项目 我们先准备一个目录用来放本次示例的代码。...(创建的目录叫做 go-rust ) 然后使用 Rust 的 Cargo 工具创建一个名叫 rustdemo 的项目,这里由于我增加了 --lib 的选项,使用其内置的 library 模板。...编译 Rust 代码 我们需要修改下 Cargo.toml 文件以便进行编译。注意,这里我们增加了 crate-type = ["cdylib"] 和 libc 。...target/release/librustdemo.so 复制代码 准备 Go 代码 Go 环境的安装之类的这里也不再赘述了,继续在我们的 go-rust 目录操作即可。

    98300

    【运行时】FFI 链接 C ABI 动态链接库(实操分享)

    支持以Cargo Package根目录为起点的【相对路径】。 native=前缀表示:在该下预存都是C ABI链接库,而不是Rust ABI链接库。...【重点强调】已亲测:在.cargo\config.toml [build] rustflags = "***"配置项内,设置此-L编译器参数不管用 — 原因不详且和Cargo Book文档描述不符。...接着,若你的目标仅只是cargo build编译出一个.exe可执行文件,那么到这就可以打住了。 再续,若你的目标是cargo run既编译源码又运行可执行文件,那么还有一步需要被完成。...要么,在Cargo Package根目录下,编写一个简单的build.rs构建脚本 【功能】指派cargo,在编译过程中,在$OUT_DIR文件夹内(即,target\debug或target\release...若出于某些原因dll丢了、找不到了,程序直接崩溃退出 —— 连写日志的机会都没有。 超恶心!既没日志,也没GUI错误提示框。啥都没有,难死了! 显示出GUI主界面。

    1.1K30

    Rustcat:一个功能强大的Netcat替代方案

    关于Rustcat Rustcat是一款功能强大的端口监听工具,可以帮助广大研究人员在进行安全审计的过程中完成针对特定端口的数据监听。...Rustcat的功能跟Netcat类似,但支持的选项要更加精简,可以作为Netcat的替代方案。 为什么要选择Rustcat?...实现针对特定端口的监听和扫描; 支持命令历史记录; 易于使用,方便快捷; 支持UDP通信; 使用了不同高亮颜色显示; 工具安装 Debian/Ubuntu wget https://github.com...自行编译项目 如果你想要自己动手编译项目源码的话,你首先需要将该项目源码克隆至本地: git clone https://github.com/robiot/rustcat 然后使用cd命令切换至项目目录...,并运行下列命令: cargo build --release 工具使用 rc [options] [destination] [port] 工具使用样例 查看工具帮助信息: rc --help 监听本地主机

    1.5K20

    通过 Cargo 管理 Rust 项目

    2.3 代码版本控制 Cargo 默认使用 git 作为版本控制工具,因此上述项目目录中已经有了 .gitignore 文件,当然,在创建项目时,也可以通过 --vcs 参数来选择不使用任何版本控制工具...用 Cargo 构建和运行项目 在项目目录下,执行 cargo build 命令就可以完成任务的构建: $ cargo build Compiling hello_cargo v0.1.0 (...in 2.01s 通过 tree 命令,可以看到构建完成产生的新文件: . ├── Cargo.lock ├── Cargo.toml ├── src │ └── main.rs └...检测 rust 语法 当你做了一些修改,你可能并不想花很长时间来编译,而仅仅是想要知道是否存在编译错误,此时,只需要执行 cargo check 就可以快速定位编译错误: $ cargo check...运行项目 执行 cargo run 命令可以运行项目,如果之前没有执行过 cargo build 或者在 build 后又有了新的修改,cargo run 命令会自动进行 build: $ cargo

    78120

    本体技术视点 | 想用Wasm开发dApp?你不得不读的入门教程(1)

    我们使用cargo工具把合约编译成 Wasm 字节码时,生成的文件会比较大,ontio-wasm-build可以优化字节码,从而减小合约文件大小,将合约部署到链上之前,必须通过该工具进行合约的优化与检查...需要先将源码编译成 Wasm 字节码。 2. 使用 ontio-wasm-build 工具优化一下 Wasm 字节码。 3. 将优化的 Wasm 字节码部署到链上。 4. 进行合约中方法的调用。...├── Cargo.toml ├── build.sh └── src └── lib.rs 我们对其中一些文件进行说明: .cargo文件夹下面的config文件中配置了合约编译时的一些配置信息...build.sh文件里面封装好了编译合约和优化合约的功能,待合约开发完成,执行该脚本会将优化的合约字节码放到output目录下面。.../build.sh: Permission denied 那么,可以先给该文件可执行权限: sudo chmod +x ./build.sh 执行成功,会在当前目录下生成output目录

    67310

    Rust学习笔记(2)- Cargo包管理器

    /reference/manifest.html [dependencies] cargo编译和运行项目 被cargo管理的项目可以直接使用cargo进行编译,而不需要使用rustc: $ cargo...build 构建成功,会在当前目录下生成一个target目录,其下的debug目录里面会有编译的可执行文件。...这里和使用rustc编译的结果有点区别,rustc编译一个文件,成功后生成的是和被编译的文件同名的可执行文件,而使用cargo构建,生成在debug目录下的可执行文件,是根据toml文件中name的名称命名的...如果想构建release,可以使用如下命令: $ cargo build --release 将会在target/release目录下生成可执行文件 编程 —— Guessing Game use std...完成,会生成一个Cargo.lock文件,这个文件用于锁定你的依赖的版本,比如rand发布了0.8.6版本,你在项目中再次执行build的时候,并不会去升级,因为lock文件已经锁定了这个版本。

    87740

    Tauri框架:使用Rust构建轻量级桌面应用

    然后,使用tauri init命令创建一个新的Tauri项目:cargo tauri init my-app这会生成一个基本的项目结构,包括src-tauri(Rust后端)和src(Web前端)目录。...编译和运行使用cargo tauri build编译项目,然后运行target/release/my-app(或在Windows上运行.exe文件)。Tauri的高级功能和最佳实践1....代码审计:对第三方插件进行代码审查,确保没有引入安全漏洞。沙箱环境:利用Tauri的安全策略,限制插件对系统资源的访问。...Tauri的调试与测试调试Tauri提供了一些工具和方法来帮助开发者调试应用:日志:Tauri支持输出详细的日志,可以在终端中查看。...在src-tauri目录下创建tests子目录,然后在那里编写测试文件。集成测试:Tauri提供了一个名为tauri-testing的库,用于编写集成测试。

    31310

    rust 开发编译 Android 动态库实践

    以下是来自维基百科的介绍,有些特性暂时还没体验过,先摘录一波: Rust 是由 Mozilla 主导开发的通用、编译型编程语言。。...然后执行: 1cp cargo-config.toml ~/.cargo/config 把 cargo-config.toml 移动到 ~/.cargo/ 目录下。...接下来就是执行具体的编译: 1cargo build --target aarch64-linux-android --release 2cargo build --target armv7-linux-androideabi...--release 3cargo build --target i686-linux-android --release 分别执行上面三个命令,会分别构建三个不同平台的 so 库。...这样就完成了用 rust 编译 Android 平台的 so 动态库,并且每次编译的时候就要进行 so 的替换,当然也可以想办法把 rust so 的编译放在 Android gradle 的编译过程中

    3.6K10
    领券