小编hor*_*guy的帖子

我如何在gdb中单步执行嵌套函数调用?

有时我想调试这样的函数:my_func1(my_func2(my_func3(val)));

有没有办法可以在gdb中单步执行这个嵌套调用?我想逐步执行my_func3,然后是my_func2,然后是my_func1等

gdb

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

拥有一个大型实用程序文件是顽皮的吗?

在我的C项目中,我有一个很大的utils.c文件.它真的充满了各种各样的实用工具.我觉得有点顽皮,只是在那里填充不同的杂项功能.例如,它有一些与低级别的东西相关的实用程序,例如lowercase()函数,它还有一些非常复杂的实用程序,例如转换为不同的颜色格式.

我的问题是,拥有如此大的utils.c并且有许多不同类型的实用程序,这是非常顽皮的吗?我应该将它分解成许多不同类型的实用程序文件吗?比如graphics_utils.c等等你怎么看?

code-organization organization

5
推荐指数
4
解决办法
377
查看次数

Ruby是否具有Metaobject协议,如果没有,是否可以实现一个?

请原谅我的无知,但什么是Metaobject协议,Ruby有一个吗?如果没有,是否可以为Ruby实现一个?如果Ruby有一个,Metaobject协议可能具有哪些功能呢?

ruby metaobject mop

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

C中的面向对象模式?

可能重复:
你能用C编写面向对象的代码吗?

我正在用C语言编写一个大型应用程序并且听说过在C++程序员出现之前用来实现C语言中的"面向对象"模式.我的问题是这个模式通常的形式是什么?以及如何在现代C应用程序中实现这样的OOP模式?

c oop

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

如何避免意外杀死emacs中的文本?

我有一个突出显示模式(忘记所谓的),通过突出显示文本,我在标记和点之间选择了哪个区域.杀死地区时非常方便.但是,有时候,即使没有明显突出显示的文字,但我不小心按下了Cw,它仍会偶尔杀死一些文字.我的问题是如何阻止这种行为?如果我突出显示它,我只想要它杀死文本.

emacs elisp text-editor

4
推荐指数
3
解决办法
314
查看次数

Ruby反思问题

我是Ruby的新手,如果问题不一致,请原谅我.我可以像Ruby中的数组一样迭代类成员吗?我该如何实现这一目标?

ruby class

4
推荐指数
3
解决办法
519
查看次数

代码在Windows中签署exe文件时存储的数字签名在哪里?

正如问题标题中所述.但是,我正在使用"技巧",我在运行时使用可执行文件之后存储额外的数据(参见此处).

签署我的可执行文件似乎打破了这个"技巧",所以我的问题是签名存储在exe(PE)文件中的位置?

我正在使用signtoolmicrosoft来签署我的可执行文件.

windows winapi code-signing portable-executable

4
推荐指数
2
解决办法
1793
查看次数

如何在Ruby C API中有效地合并两个哈希?

我正在为Ruby编写一个C扩展,它真的需要合并两个哈希,但是rb_hash_merge()函数在Ruby 1.8.6中是STATIC.我尝试过使用:

rb_funcall(hash1, rb_intern("merge"), 1, hash2);
Run Code Online (Sandbox Code Playgroud)

但这太慢了,在这个应用程序中性能非常关键.

有谁知道如何以效率和速度来执行此合并?

(注意我已经尝试过简单地查看rb_hash_merge()的源代码并复制它,但它与其他静态函数一起使用RIDDLED,这些函数本身就充斥着更多的静态函数,因此几乎不可能解开...我需要另一种方式)

c ruby ruby-c-extension

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

如何使块本地变量成为ruby 1.9中的默认值?

Ruby 1.9提供了定义块的本地变量并且不关闭外部作用域中同名变量的能力:

x = 10
proc { |;x|
    x = 20
}.call
x #=> 10
Run Code Online (Sandbox Code Playgroud)

我希望将此行为作为我定义的某些块的默认行为 - 而不必使用|; x,y,z | 语法(注意分号).

我不认为Ruby允许本机,但是有可能破解这个功能吗?

我目前有一个解决方案,但它非常难看,因为它需要检查在块结束时查看哪些局部变化,然后将它们恢复为块之前的值.我不介意你的解决方案是否需要在块的开头指定哪些变量是块本地的,即scope(:x) { x = 20 }

ruby closures scope

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

为什么 UTF-8 字符串不等于 Ruby 2.0 中等效的 ASCII-8BIT 字符串?

我使用的是 Ruby 2.3:

我有以下字符串:"\xFF\xFE"

我对File.binread()包含它的文件执行了 a 操作,因此该字符串的编码是ASCII-8BIT. "\xFF\xFE"然而,在我的代码中,我通过将其与文字字符串(其默认编码UTF-8与所有 Ruby 字符串相同)进行比较来检查该字符串是否确实被读取。

然而,即使两个字符串包含相同的字节,比较也会返回false- 恰好一个是编码的ASCII-8BIT,另一个是编码的UTF-8

我有两个问题:(1)为什么它会返回false?(2) 实现我想要的目标的最佳方法是什么?我只是想检查我读取的字符串是否匹配"\xFF\xFE"

ruby string encoding utf-8 ruby-2.0

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