当前位置: 首页 > 面试题库 >

重载free(),因此我的程序使用的是我的而不是系统的

法烨烨
2023-03-14
问题内容

我需要free()出于教育目的对功能进行重新编码,并且还必须命名free()

当我重命名我的函数时,myfree()它可以正常工作,但是当我命名它时,free()该程序不知道他是否需要使用我的或系统的,Segmentation fault(core dumped)即使我没有调用我的免费程序,该程序也是如此(只是另一个free()func 的声明似乎崩溃)

所以我怎么告诉编译器使用我的而不是系统的呢?

预先谢谢你。

编辑:Linux操作系统


问题答案:

基本上,您可以看到三个选项

  • 编译时重定向它,例如使用#define@Mohamed建议的方法。
  • 在运行时使用LD_PRELOAD进行更改。
  • 使用malloc hooks修改现有的malloc / free 。


 类似资料:
  • 问题内容: 我认为,如果Java程序员这样做的时间足够长,就会遇到这种情况。您正在进行调试并更改类。当您重新运行该程序时,这些更改似乎没有被接受,但是旧类似乎仍在运行。您清理并重建所有内容,同样的问题。有时,这可能归结为类路径问题,同一类多次出现在类路径中,但是似乎没有一种简单的方法来确定要加载的类来自何处… 有什么方法可以找到已加载类的文件路径吗?如果从文件或文件中加载了类,则最好是可行的。有任

  • 当我运行(Windows 7命令行)时: C:\rest-app\src\main\java\com\mycompany\app\test>java org.testng.testng testng.xml Suite1运行的测试总数:0,失败:0,跳过:0 ================================================== 此时我的testng.xml文件如下所

  • 我正在开始一门Android Studio课程,但我在运行代码时遇到了问题:事实上,当我使用Nexus S API 22点击“Run app”时,启动的是我的旧项目,而不是我的新项目。我有Android Studio 3.5 我试图重启Android Studio并启动全新的项目,但没有成功。 谢谢你的帮助。

  • 下面是我如何进行REST API调用,我的url位于下面的中。我在WAMP服务器上运行它,基本上我已经保存了这个php(test.php)文件文件夹,当我执行url时,我得到了500内部服务器错误。我基本上希望在运行PHP脚本时运行URL()。我应该如何克服这个问题? 下面的帖子一开始看起来很有希望,但他们的目标与我的不同。 错误日志: 在 C:\wamp\logs 中 我看到两个新创建的文件和。

  • 问题内容: 我认真研究了Java类加载器。现在,我想编写一个与rt.jar中的类之一具有相同的包名称和类名称的类。例如,我自己编写一个java.lang.String类,以及如何打破父级委托模型以使jvm加载我的java.lang.String而不是rt.jar中的类。 重新编辑 Thx,尝试过。还有↓↓↓ 问题答案: 您可以使用JVM启动时的选项来执行此操作: 代表“前置”。 注意:这不是标准的

  • 我从数据库中读取一个字符串值,并通过servlet将其打印到jsp页面上。问题是,在Jsp上,如果数据库中的字段为空,就会打印出字符串“null”。如果数据库中的值为空,我需要一个空白的编辑框。 我的数据库访问对象: 我的Servlet: 我的Jsp: 我的数据库是Oracle 11g,浏览器是FireFox。