10
仅将C ++编译器用于函数重载是不好的做法吗?
因此,我正在针对某个处理器使用C进行软件设计。该工具包包括编译C和C ++的功能。对于我正在做的事情,在这种环境下没有可用的动态内存分配,并且该程序总体上非常简单。更不用说该设备几乎没有处理器能力或资源。实际上,根本不需要使用任何C ++。 话虽这么说,我在一些地方进行函数重载(C ++的功能)。我需要发送几种不同类型的数据,并且不想使用printf带有某种%s(或其他任何一种)参数的样式格式。我见过有些人无法使用C ++编译器执行此操作printf,但就我而言,可以使用C ++支持。 现在,我确定可能会遇到一个问题,即为什么我需要重载一个函数。因此,我将尝试立即回答。我需要从串行端口传输不同类型的数据,所以我有一些重载,可以传输以下数据类型: unsigned char* const char* unsigned char const char 我只希望没有一种方法可以处理所有这些事情。当我呼吁我只是希望它传递出串行端口的功能,我没有很多资源的,所以我不想做几乎没有任何事情,但我的传送。 有人看到了我的程序,问我:“为什么要使用CPP文件?” 所以,这是我唯一的原因。那是不好的做法吗? 更新资料 我想回答一些问题: 解决您的困境的客观答案取决于: 如果使用C ++,可执行文件的大小是否会显着增加。 截至目前,可执行文件的大小占用了4.0%的程序内存(5248字节)和8.3%的数据内存(342字节)。也就是说,为C ++编译...我不知道对于C会是什么样子,因为我没有使用过C编译器。我确实知道该程序不会再增长了,所以对于资源的有限程度,我会说我还可以... 如果使用C ++,是否会对性能产生明显的负面影响。 好吧,如果有的话,我什么都没注意到...但是那又可能是为什么我问这个问题的原因,因为我不太了解。 代码是否可以在只有C编译器可用的其他平台上重用。 我知道,对此的答案肯定不是。实际上,我们正在考虑使用其他处理器,但仅考虑使用功能更强大的基于ARM的处理器(事实上,我所知道的所有处理器都具有C ++编译器工具链)。