小编ide*_*n42的帖子

是否有内置的方法在C中交换两个变量

我知道如何在c ++中交换2个变量,即你使用std::swap(a,b).

题:

是否C标准库也有类似的功能,C++ std::swap()或我定义它自己.

c

17
推荐指数
4
解决办法
1万
查看次数

两架飞机之间的交叉线

如何找到两个平面之间的交线?

我知道数学思想,并且我在平面法向量之间做了交叉乘积

但是如何以编程方式从结果向量中获取该行

language-agnostic math plane

16
推荐指数
4
解决办法
2万
查看次数

是否有所有cfg功能的列表?

锈有能力在构建检查配置时间,例如,#[cfg(target_os = "linux")]或者 if cfg!(target_os = "linux") {...},在那里target_os是一个功能.

是否有可以在Rust中检查的所有(或至少是常用的)功能的列表?


查看有关属性的 相关问题是否有任何标准属性的详尽列表?.

rust rust-cargo

16
推荐指数
2
解决办法
8173
查看次数

如何使用Rustup删除Rust编译器工具链?

Rustup文档显示了如何每晚安装Rust,但不知道如何删除它.

虽然文档确实显示了如何rustup完全卸载,但我想保留稳定的分支.

我怎么能每晚卸载Rust?


请注意,我尝试与rustup install nightly...(rustup uninstall nightly,rustup remove nightly&rustup delete nightly)相反,但没有用.

即使我阅读文档,也不清楚nightly是a toolchain,a channel......还是别的什么.

rust rustup

16
推荐指数
2
解决办法
4847
查看次数

如何在GCC中使用不同的枚举类型分配或执行算术时发出警告?

虽然我知道这是有效的C不能区分枚举类型.

GCC确实-Wenum-compare(我正在使用)并按预期工作.

我试过使用,-Wconversion但这没有任何区别.

分配和算术运算符(+/ -/ &/ |...等)如何产生警告?(作业,或者......等)

{
    enum Foo f = SOME_VALUE;
    enum Bar b = SOME_OTHER_VALUE;

    if (f != b) {
        /* this warns! */
    }

    f = b;  /* <-- how to warn about this? */
    f |= b;  /* .. and this? */

}
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 切换到C++不是一种选择(如其他答案所示).
  • 这个问题是密切相关的,但它不是重复的,因为它是关于传递参数而不是算术.

c enums gcc type-conversion gcc-warning

16
推荐指数
1
解决办法
140
查看次数

如何获取错误字符串格式的警告(C++)

如果我使用不好的术语,请提前道歉.

当我在gdb下编译一个C++应用程序并使用printf()时,它给出了与格式字符串的一致性和传入的参数有关的令人敬畏的警告.

例如,这段代码:

printf("%s %s", "foo");
Run Code Online (Sandbox Code Playgroud)

导致编译器警告"格式参数太少",这非常有用.它还会提供有关格式字符串类型与参数类型的警告.它必须检查格式字符串并将其与提供的参数类型进行比较. - 这种编译时内省可以添加到普通源代码中,还是需要编译成gcc本身的东西?

fwiw这是在os x的gcc 4.2.1下.

printf gcc warnings compiler-warnings

15
推荐指数
1
解决办法
2052
查看次数

仅对选定的文件/模块运行Doxygen?

最近我开始在现有项目中编写一些doxygen文档,这个项目已经有很多doxygen评论.

因为我正在学习一点 - 我喜欢迭代编辑和生成文档,因为doc生成很慢 - 3-5分钟.这变得不可行.

我通过删除源代码树中的大多数文件进行管理,因此doxy只发现了我正在编辑的文件,但这确实是一个非常糟糕的解决方案,而不是我经常要做的事情.

有没有办法(例如命令行arg或env变量) - 限制哪些文件/模块用于生成文档 - 所以重建文档可以更快地完成?

doxygen

15
推荐指数
1
解决办法
1万
查看次数

如何在构建时始终运行命令而不管任何依赖?

我想运行一个解析整个源代码树的cmake命令,所以我无法在cmake的add_custom_command/add_custom_target命令中列出所有可能的依赖项.

有没有可能告诉cmake只是在没有任何条件的情况下运行命令?我尝试了在网上找到的所有解决方案(包括SO),但他们都假设该命令依赖于几个已知的最新文件.

我找到了一个解决方案,但它无法可靠地工作:

cmake_minimum_required(VERSION 2.6)

project(main)

add_custom_command(
   OUTPUT file1
   COMMAND echo touching file1
   COMMAND touch file1
   DEPENDS file2)
add_custom_target(dep ALL DEPENDS file1 file2)

# this command re-touches file2 after dep target is "built"
# and thus forces its rebuild
ADD_CUSTOM_COMMAND(TARGET dep
          POST_BUILD
          COMMAND echo touching file2
          COMMAND touch file2
)
Run Code Online (Sandbox Code Playgroud)

这是输出:

queen3@queen3-home:~/testlib$ make
[100%] Generating file1
touching file1
touching file2
[100%] Built target dep
queen3@queen3-home:~/testlib$ make
[100%] Generating file1
touching file1
touching file2
[100%] Built target dep
queen3@queen3-home:~/testlib$ make
touching …
Run Code Online (Sandbox Code Playgroud)

cmake

15
推荐指数
4
解决办法
2万
查看次数

在Rust中等效__func__或__FUNCTION__?

在C和C++中,您可以通过__func__C99和C++ 11以及___FUNCTION___MSVC 的宏获取当前正在执行的函数的名称.

在Rust中有相同的吗?

__func__C中的示例:

#include "stdio.h"

void funny_hello() {
    printf ("Hello from %s\n", __func__);
}

int main() {
    funny_hello();
}
Run Code Online (Sandbox Code Playgroud)

输出Hello from funny_hello.

macros rust

15
推荐指数
4
解决办法
1946
查看次数

slice :: chunks/windows是否有等效的迭代器来循环对,三元组等?

一次迭代多个变量,重叠(slice::windows)或不重复()可能很有用slice::chunks.

这仅适用于切片; 是否可以为迭代器执行此操作,为方便起见使用元组?

可以写下以下内容:

for (prev, next) in some_iter.windows(2) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

如果没有,它是否可以作为现有迭代器的特征实现?

iterator rust

15
推荐指数
3
解决办法
5345
查看次数