我正在编写单元测试,我需要重写“static const char [] path =”/ some/hardcoded/path“中的路径来执行其他操作。我想它可以通过LD_PRELOAD做,但它要求我创建另一个库是否有任何其他简单的方法来做到这一点替换静态常量字符数组的值
0
A
回答
1
躲在它的选择是这样的:??
static const char* path = "...";
void f()
{
#if UNIT_TESTING
static const char* path = "Ha!";
#endif
cout << path;
}
0
更改在许多系统中,实现定义的响应是放弃核心(分段错误),也就是说,许多联合国以前常见的范例IX应用程序应具有硬编码但可配置的路径名。这个名字是在编译时设置,而不是执行时间:
static const char * path = SOME_PREPROCESSOR_NAME;
3
注释出来,并添加你自己的路。
你不想un- const
东西。
如果需要,把它变成一个预处理块:
#ifndef __UNIT_TEST
static const char[] path = "/some/hardcoded/path";
#else
static const char[] path = "/some_other/hardcoded/path";
#endif
然后,它会不会原来的程序员的系统上出现故障或者。
0
如果你想成为哈克,并没有办法直接更改信号源,它可以使用的mprotect()在Unix和Win32上VirtualProtect的(),以使该阵列可读/写的页/可执行文件最后的手段。
0
如果您的系统支持它,请将硬编码文件作为您想要的符号链接。类似于ln -T /where/i/want/file /some/hardcoded/path/file
相关问题
- 1. C++超载静态常量字符串VS字符数组
- 2. mySQL替换字符串+附加字符串与静态值
- 3. “静态字符常量*常量”优于“静态常量字符”的关联对象键的优点是什么?
- 4. 字符串替换为变量数组
- 5. 替换字符串数组值
- 6. (PHP)替换字符串数组值
- 7. 初始化静态字符常量* somevar
- 8. 初始化静态常量空数组
- 9. PHP替换字符数组
- 10. AS2字符串替换字符数组?
- 11. 静态常量
- 12. 使用静态常量+作为常量数组边界
- 13. 真C静态局部变量替换?
- 14. 无法将120的值赋予静态常量无符号字符或将值赋给常量static static unsigned int
- 15. 是否值得优化Javascript代码替换字符串常量?
- 16. 使用另一个数组的值初始化本地静态常量数组
- 17. Python 3的转换数字常量字符串,其数值
- 18. 字符串替换基于变量值
- 19. 用数组替换PHP关联数组值(字符串)
- 20. 用变量替换静态标识符的问题
- 21. 将字符数组转换为常量字符*
- 22. volatile关键字如何影响静态常量数组?
- 23. Spring中注入静态常量的值
- 24. 替换字符串中的变量替换错误的字符
- 25. 在二维数组替换字符串值与数字
- 26. 用数组中的字符替换字符串中的字符
- 27. println的非静态替换
- 28. 替换旧数组中的字符
- 29. 替换字符数组中的char
- 30. 替换数组中的字符串php
它是'const'。不要这样做。如果您有一些功能需求,请联系作者并提出您的看法。否则,处理它。抱歉。 –
我同意。应该拍摄硬编码路径的人! –