繁体   English   中英

如何在禁用了CRT的情况下使用CRT的某些功能?

[英]How to use *some* functions of CRT with CRT Disabled?

我已经禁用了CRT,但是我希望使用一些运行时功能,例如strtok,strcmpy,strcpy等,但是我不希望整个CRT运行,有人可以告诉我如何在不运行CRT和启用的情况下使用这些功能。所有的CRT功能。

我只需要几个CRT功能,有人可以帮助我吗?

亲切的问候,

罗汉·维贾哈瓦(Rohan Vijjhalwar)

您需要一种C运行时库,就像您对strcmp&Co的愿望已经告诉我们的那样。如果您认为在创建较小的二进制文件或对DLL的依赖性较小的组合中会受益,则可以使用任何微型CRT。

为了在引导加载程序中使用,我编写了自己的仅包含所需功能的库。 例如,您可以将函数strcpy编码为:

// choose const for arguments where necessary.
char* strcpy(char *dst, char *src)
{
    char* dest = dst;

    // copy char by char until '\0' is found.
    while ( *dest++ = *src++ )
    {
    }

    return dst;
}

如果您拥有诸如strtok无状态功能,则必须初始化状态。 因此,您将必须初始化您的小型CRT。

如果您担心自己无法完全通过自己寻找其他为您完成此操作的人(例如在Code ProjectµCLib中)编写该 代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM