Tag: perl

在嵌入式C应用程序中从Perl调用C函数

好吧,这是一个非常有趣的问题,并且可能没有任何简单的方法可以做到这一点,但想到我会在决定修改Perl是我的基本答案之前抛弃它。 所以我有一个以嵌入式方式调用Perl脚本的C应用程序。 这一切都很好,花花公子,我可以传递信息并获取信息非常棒。 但是,现在进入我的下一次征服; 我需要允许我的嵌入式脚本能够调用原始C叫它的C应用程序中的一些函数。 这很重要,因为XSUB会要求它是一个外部库; 但我不希望它成为一个外部库我希望它是对C函数的直接调用。 现在也许这可以通过XSUB完成,我刚刚阅读并理解错误。 Application -(run)-> Perl Application Perl 这不能是外部库的原因是因为我依赖于仅在应用程序中创建/存储的数据。

找到结构中填充的大小和位置的方法?

我正在尝试编写一个工具,将一些包含结构的C代码作为输入。 它将编译代码,然后查找并输出编译器决定添加到其中的结构的任何填充的大小和偏移量。 对于使用offsetof,sizeof和一些添加的已知结构,这是非常简单的,但我无法想出一个简单的方法来自动为任何输入结构做。 如果我知道如何遍历结构中的所有元素,我想我可以毫无问题地编写工具,但据我所知,没有办法做到这一点。 我希望一些StackOverflow人会知道一种方式。 但是,我并没有停留在我的方法中,而且我当然愿意接受在结构中查找填充的任何替代方法。

将printf添加到文件中所有函数的开头

我有一些非常大的C文件,有很多function。 我需要在运行时跟踪执行路径。 我无法通过调试来跟踪它,因为它是一个当前在qemu上运行并执行大量二进制转换的管理程序代码。 任何人都可以指向Perl或Python中的某些脚本,它可以在所有函数的开头添加printf ,文本可能是“我在”吗?

你更喜欢“if(var)”还是“if(var!= 0)”?

我已经用C语言编程了几十年了。 在某个地方,我决定不再想写: if (var) // in C if ($var) # in Perl 当我的意思是: if (var != 0) if (defined $var and $var ne ”) 我认为部分原因是我有一个强类型的大脑,在我看来,“if”需要一个布尔表达式。 或者也许是因为我使用Perl这么多,Perl中的真相和虚假就是这样一个雷区。 或者也许只是因为这些天,我主要是一名Java程序员。 你有什么偏好?为什么?

如何使用Perl从文件中删除多行C注释?

任何人都可以使用正则表达式来删除文件中的多行注释和单行注释吗? 例如: ” WHOLE “/*…*/” HAS TO BE STRIPED OFF…..” 1. /* comment */ 2. /* comment1 */ code /* comment2 */ #both /*comment1*/ and /*comment2*/ #has to striped off and rest should #remain. 3. /*……… ……… ……… ……… */ 如果你有这个需要,我真的很感激你….提前感谢。