【发布时间】:2011-03-26 10:02:45
【问题描述】:
我正在用 C/C++ 编写一个程序(但不应涉及 c++ 类),它分为两部分。 首先是对线程和进程的基本需求。 二是供用户定制自己的功能。 模块就像,让我困惑的是用户自定义功能。
My Need is as following:
用户可以在给定的文件夹中创建一个新的 *.c 文件,他们可以编写自己的函数。
在他们制作了自己的功能和编译之后,我可能通过 socket 或 http 或 argv 命令为他们提供接口。他们可以唤起他们之前定义的功能。 他们只给我一个类似“own_funciton”的字符串,然后我调用他们定义的函数。
问题是:如何做到这一点? 我怎样才能连接字符串和函数???我认为 MACRO 可能是一个解决方案, 我要求用户像这样定义他们的功能: 这只是一个例子
BEGIN_FUNCTION (own_funcion) { //函数体 } END_FUNCTIONHEED:当用户添加新功能时,需要重新编译整个系统。
你可以在 MACRO BEGIN_FUNCTION 中做一些事情来存储函数字符串和函数指针.. 但是我不知道具体怎么写宏.. 你有什么建议
【问题讨论】:
-
您是否考虑过将 Lua 等嵌入式语言用于自定义函数?
-
但我的老板只允许 C
-
我不确定我是否理解你的解释......但我听上去很模糊,就像你想编写自己的脚本语言一样。
-
我同意 9000。Lua 被设计为嵌入式,占用空间非常小(什么,50k 左右?),并且在性能很重要的社区中广泛使用(例如游戏开发)。如果你有要重新发明轮子,您可能拥有技术上基于 C 的解决方案,但只有您自己才能理解!
-
-1。与应用程序的功能、程序环境 (OS) 以及他们的用户类型无关。
标签: c++ c function dynamic visual-c++