gcc中有一个魔术变量,它持有一个指向当前函数的指针吗?
我想有一种表包含每个函数指针的一组信息.
我知道有一个__func__变量包含当前函数的名称作为字符串但不作为函数指针.
这不是为了调用函数而是仅仅用作索引.
编辑 基本上我想做的是能够在执行当前函数之前运行嵌套函数(并且还捕获返回以执行某些操作.)基本上,这就像__cyg_profile_func_enter和__cyg_profile_func_exit(检测函数).但问题是这些仪器功能是全局的而不是功能专用的.
编辑
在Linux内核中,你可以使用unsigned long kallsyms_lookup_name(const char *name)
从include/linux/kallsyms.h
...请注意CONFIG_KALLSYMS
选项必须被激活.
我对Domain Specific Languagess的设计和实现感兴趣.我所知道的大部分DSL源于学术界.
你能给我一些指向业内实际使用的DSL的指针吗?并且你每天都在使用...这真的很方便..
(我也对声明性语言感兴趣,但不是真正基于xml的...)...
我想建立一个(非详尽的)行业部署语言清单......我知道这是巨大的......
有时,我正在使用通用语言来实现可以使用DSL轻松完成的事情.
编辑 我主要对应用程序导向的DSL感兴趣,而不是小嵌入式语言.例如,SQL匹配我正在寻找的东西,但java中嵌入的SQL对我不感兴趣.我正在寻找的那种语言的另一个例子是X#
我正在尝试使用nftw来处理目录下的一些文件
#include <ftw.h>
#include <stdio.h>
int wrapper(const char * fpath, const struct stat *sb, int typeflag, struct FTW *ftwbuf) {
printf("File %d\n", ftwbuf->base);
return(0);
}
int main(int argc, char ** argv) {
const char *name;
int flags = 0;
name = argv[1];
nftw(name, wrapper, 20, flags);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我正在编译时(gcc kconfig_parser.c -o parser),我收到了这个警告并且出现了这个错误..
kconfig_parser.c:5: warning: ‘struct FTW’ declared inside parameter list
kconfig_parser.c:5: warning: its scope is only this definition or declaration, which is probably not what you want …
Run Code Online (Sandbox Code Playgroud) 可能重复:
javascript中的图形可视化代码?
我必须在网页上集成带有节点和边的图形.理想情况下,我希望能够与它进行交互(比如移动节点).
实际上,我开始代表树木,所以我希望能够折叠子树.
我怎样才能做到这一点 ?我正在考虑谷歌的可视化API,但我没能找到我要找的那种可视化(组织结构图不允许有多个父亲,如果我深知)
我不知道那种技术,所以我的标签可能不太准确:-).
谢谢
有没有人给gcc添加传球?或者不是真的通过,但添加一个选项来做一些讨厌的事情... :-) ...
在从另一个函数返回之前调用函数仍然有同样的问题...所以我想通过在gcc中实现一些东西来调查它...
干杯.
编辑:向编译器添加传递意味着重新访问树以执行某些优化或某些分析.我想模拟__cyg_profile_func_exit的行为,但仅限于某些函数,并且能够访问原始返回值.
所以我将尝试增强我的问题.我想模仿真正基本的AOSD行为.AOSD或面向方面的编程可以增加横切关注点(调试是一个跨领域的问题).
int main(int argc, char ** argv) {
return foo(argc);
}
int foo(int arg_num) {
int result = arg_num > 3 ? arg_num : 42;
return result;
}
int dbg(int returned) {
printf("Return %d", returned);
}
Run Code Online (Sandbox Code Playgroud)
我想能够说,我想在执行foo函数后触发dbg函数.问题是如何告诉编译器修改控制流并执行dbg.应该在return和foo(argc)之间执行dbg ...
这与__cyg_profile_function_exit非常相似,但仅在某些情况下(__cyg_profile_function_exit中的问题是您无法轻易查看和修改返回的值).
我有一些大的C程序,我想知道我什么时候编译这个程序,实际上包含哪些头文件...
最简单的解决方案是打印预处理的代码并查看,但是你知道是否有编译方法,同时显示包含哪些头文件?
我将审核基于JSF/CDI/EJB3.0/JPA的Java EE Web项目的代码体系结构质量和可维护性(最终确保我们已经付出了代价)(仅仅是为了命名一些技术)参与).
这可能不是一个正确的问题,但你如何处理这类任务呢?基本上,我将从粗粒度到细粒度,即从整个架构到java代码.完全处理每一层是否更好?我应该花更多时间在低层吗?
你评估整个事情(构建,部署,测试)吗?
我想比较一些代表树的大型对象并缓存一些东西,以避免每次新对象与已存在的对象进行比较...
问题是什么是最好的东西?(性能和碰撞之间的妥协......).
一方面,我有一个基于各种字段值的常规hashCode函数(遵循有效Java的第3章.但是我无法评估这种方法所带来的潜在冲突.
另一方面,我使用带有SHA-1算法的标准java发行版的MessageDigest方法.我认为它不会有效但我可能会减少碰撞.我对吗 ?在我的背景下它是一个正确的解决方案还是我完全错了?
问题是我不知道对象的大小.另请注意,计算的值不会在HashTable中使用.
谢谢...
我正在尝试找到一个从OCaml程序访问数据库的库.尝试ocaml-sqlite后,我不满意,因为它有点慢.
我见过MySQL模块,但似乎没有维护.
您是否使用任何trac插件以图形方式表示各种里程碑和门票的路线图?如果是这样,哪一个?
我发现活动门票的视图确实很模糊.我希望我的各个里程碑的树状表示附上门票,这是我项目的完整地图.
我已经看到Gantt插件不再维护了.
谢谢.