我已经实现了一些基于模块的Active Object设计模式.这是非常简单的实现.我有Scheduler,ActivationList,Requests和Futures来获得响应.我的要求是这样的:
现在好了问题:是否可以使用boost :: asio并满足我的所有要求?我的实现正在运行,但我想使用一些可能以比我更好的方式实现的东西.此外,我想知道它的未来,不要再"重新发明轮子".
我有以下库lib_A, lib_B, lib_C, lib_D。我在我的 CMake 文件中做这样的事情(顺序很重要):
ADD_LIBRARY(lib_A)ADD_LIBRARY(lib_B)ADD_LIBRARY(lib_C)ADD_LIBRARY(lib_D)TARGET_LINK_LIBRARIES(lib_B lib_C)TARGET_LINK_LIBRARIES(lib_A lib_B)ADD_EXECUTABLE(Exec)TARGET_LINK_LIBRARIES(exec lib_A)TARGET_LINK_LIBRARIES(exec lib_D)这导致以下链接器命令。
linker -llib_A -llib_D -llib_B -llib_C
Run Code Online (Sandbox Code Playgroud)
一季度。为什么是lib_B和lib_C之后lib_D?
Q2。当我稍微更改 CMake 并执行以下操作时:
TARGET_LINK_LIBRARIES(lib_A lib_D)TARGET_LINK_LIBRARIES(exec lib_A)然后链接顺序是这样的:
linker -llib_A -llib_B -llib_C -llib_D
Run Code Online (Sandbox Code Playgroud)
这里lib_B和lib_C之前lib_D。这意味着target_link_libraries对于可执行目标和库目标的工作方式不同。我对吗?
这里的问题是,lib_B和lib_C还取决于lib_D,但我不想做target_link_libraries(lib_B lib_D)和target_link_libraries(lib_C lib_D),因为我有更多的这种情况下,我将不得不为每个库做手工。当然,在 Q2 中这样做可以解决问题,但是:
Q3 - 这个订单是由 CMake 以某种方式保证的还是只是偶然的?
谢谢
我正在尝试利用clang工具库来实现我未来的工具.我想用这个工具做的是:1.解析所有源代码(包含)并在注释中检测我的任何关键字(注释将是程序员和我的工具之间的某种接口,它将做各种各样的根据注释中的命令,其余的源代码.2.根据源代码中的命令,对其进行一些重构
重构本身将使用clang AST完成,如下例所示:http: //eli.thegreenplace.net/2014/07/29/ast-matchers-and-clang-refactoring-tools
我目前正在寻找的是如何在同一个clang工具程序中解析注释.我不想单独解析源代码,因为它必须已经在工具库中完成.
你知道如何以某种方式获取我正在通过工具库解析的源代码中包含的注释信息吗?