小编The*_*ger的帖子

将旧的makefile转换为CMake

我正在尝试将旧的makefile代码转换为CMake.你能帮助我吗?这是我目前陷入困境的部分.我不知道如何将这些参数传递给编译器.

COMPILE_FLAGS = -c -m32 -O3 -fPIC -w -DSOMETHING -Wall -I src/sdk/core

ifdef STATIC
    OUTFILE = "bin/test_static.so"
    COMPILE_FLAGS_2 = ./lib/ABC.a
else
    OUTFILE = "bin/test.so"
    COMPILE_FLAGS_2 = -L/usr/lib/mysql -lABC
endif

all:
    g++ $(COMPILE_FLAGS) src/sdk/*.cpp
    g++ $(COMPILE_FLAGS) src/*.cpp
    g++ -fshort-wchar -shared -o $(OUTFILE) *.o $(COMPILE_FLAGS_2)
    rm -f *.o
Run Code Online (Sandbox Code Playgroud)

谢谢!

c c++ makefile cmake

12
推荐指数
1
解决办法
8572
查看次数

从并发关联容器中擦除 (concurrent_unordered_map)

我正在寻找一个并发关联容器,我concurrent_unordered_map从 Thead Building Blocks 中找到了它似乎满足我的所有需求。即使我阅读了文档,我也没有找到一个关于擦除如何工作的例子。

A concurrent_unordered_map supports concurrent insertion and traversal, but not concurrent erasure. The interface has no visible locking. It may hold locks internally, but never while calling user-defined code. It has semantics similar to the C++11 std::unordered_map except as follows:
Run Code Online (Sandbox Code Playgroud)

这实际上意味着什么?只要我仅从单个线程中擦除,从该地图中擦除是否安全?如果没有,我该怎么做?

c++ concurrency multithreading tbb

3
推荐指数
1
解决办法
3064
查看次数

线程之间的线程安全通信

我正在为单线程应用程序(具有非线程安全的API)开发一个多线程插件.

我当前的插件有两个线程:主线程是应用程序的线程,另一个是用于处理主线程数据的线程.简而言之,第一个创建对象,为它们提供ID,将它们插入到地图中,有时甚至可以访问和删除它们(如果应用程序这样说); 第二个是从该地图读取数据并正在改变对象.

我的问题是:为了使我的插件线程安全,我可以使用哪些技术?

c c++ concurrency multithreading

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

标签 统计

c++ ×3

c ×2

concurrency ×2

multithreading ×2

cmake ×1

makefile ×1

tbb ×1