小编ker*_*azi的帖子

如何只构建一个依赖目标?

我想使用 CMake + Visual Studio 在 Windows 下构建一个具有很多依赖项的应用程序,例如zlib. 它们都是静态库。

我已经尝试过了ADD_SUBDIRECTORY,这工作得很好,但不是只构建取决于目标,而是(zlibstatic)构建所有目标。

如何删除未使用的目标(及其解决方案)或仅选择一个?主要是我正在寻找功能来定义仅需要的目标。

我的一部分CMakeLists.txt

ADD_SUBDIRECTORY("${CMAKE_CURRENT_SOURCE_DIR}/deps/zlib")
TARGET_INCLUDE_DIRECTORIES(MyProject PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/deps/zlib")
TARGET_LINK_LIBRARIES(MyProject zlibstatic)
Run Code Online (Sandbox Code Playgroud)

c++ cmake visual-studio

5
推荐指数
1
解决办法
1864
查看次数

golang将func作为参数传递给另一个func

主要问题是“是否可以将任何类型的 func 作为参数以及如何传递?”。我正在学习 Go 并希望像这样制作我自己的异步包装函数:

func AsyncFunc(fn func(), args ...interface{}) chan bool {
    var done chan bool;

    go func() {
        fn(args...);
        done <- true;
    }();

    return done;
}
Run Code Online (Sandbox Code Playgroud)

并称之为:

max := func(a, b int) int {
    //some hard code what will be goroutine
    if a > b {return a};
    return b;
}

done := AsyncFunc(max, 5, 8);
//some pretty code
<- done;
Run Code Online (Sandbox Code Playgroud)

PS如果我的英语不好,对不起...

Edit1:我知道它是无用的、缓慢的和危险的。这只是我想要实现的疯狂想法。

parameters func go

2
推荐指数
1
解决办法
7386
查看次数

如何区分一个字符的空结构?

我正在尝试实现自己的函子,并面临空的捕获lambda。如何区分一个字符的空结构?编译时是否有“实际”大小?我只想忽略空的lambda以防止无用的分配。

struct EmptyStruct {};
struct CharStruct { char c; };


int main()
{
    char buffer1[sizeof(EmptyStruct)]; // size 1 byte
    char buffer2[sizeof(CharStruct)]; // size 1 byte
}
Run Code Online (Sandbox Code Playgroud)

c++ struct is-empty

2
推荐指数
1
解决办法
44
查看次数

标签 统计

c++ ×2

cmake ×1

func ×1

go ×1

is-empty ×1

parameters ×1

struct ×1

visual-studio ×1