现在AI很火,有没有什么AI 能完成编写C代码?
现在AI很火,有没有什么AI 能完成编写C代码? 比如完成一些与硬件无法算法,链表之类的。 没问题,可以试试微软的Copilot,很强。 必须chatgtp啊,强到无边,写简单代码直接 CV搞定你敢信下面代码是他写的,最最重要是他还可以配合写导入Letter shell爽歪歪。
看到他用的strtoull么,鬼记得库里面有这些东东。
/**
* 使用指定的值填充内存块。
*
* @param ptr 指向要填充的内存块的指针。
* @param value 要填充的值,可以是8位、16位、32位或64位。
* @param num 要填充值的数量。
* @param size要填充值多少个字节。
*/
void mem_fill(void *_ptr, uint64_t _value, size_t _num, size_t _size)
{
unsigned char *p = (unsigned char *)_ptr; // 转换指针以便逐字节操作
while (_num-- > 0) // 遍历每个值
{
for (size_t j = 0; j < _size; ++j)
{ // 遍历每个值的每个字节
*p++ = (unsigned char)(_value >> (j * 8)); // 从value中提取字节并填充
}
}
}
// 适配器函数,用于将memset_custom适配为shell命令
int _cmd_memfill(int argc, char **argv)
{
/* 检查参数数量 */
if (argc != 5)
{
printf("Usage: memfill <address> <value> <num> <byte*x>\r\n");
return -1;
}
/* 解析命令行参数 */
void *ptr = (void *)strtoul(argv, NULL, 0);
uint64_t value = strtoull(argv, NULL, 0);
size_t num = strtoul(argv, NULL, 0);
size_t size = strtoul(argv, NULL, 0);
mem_fill(ptr, value, num, size); // 调用memset_custom函数
return 0;
}
// 使用SHELL_EXPORT_CMD宏注册命令
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0) | SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN), mem_fill, _cmd_memfill, "fill memory");
硬件类的不要想了,基本的算法是可以实现的。
都是搜索,然后copy告知的 现在各种ai大模型都可以写代码的,用过chatgpt3.5、文心一言、讯飞星火、通义千问和CodeArtsSnap。单论代码生成,我感觉最好的是chatgpt,然后文心一言是国内大模型里质量最好的,讯飞星火有时候也挺不错
但是吧,就我自己目前的使用情况来说,现阶段ai写代码的实际使用体验其实并不好,上面所有的大模型都只能完成非常非常简单的代码需求,而且有时候需要很多轮对话才能得到比较满意的代码,也没法做到只用几句话就给你生成一个复杂的业务逻辑
对话轮数太多它自己还会记不住说过啥,而且生成的代码和你工程里的代码规范也不一样,要用它代码还得一点点改
想要生成质量最好的代码,需要把需求拆得非常细,一步步的喂给ai,比如下面这样的
这需求都拆到这种程度了,有这闲工夫,我为啥不自己手写呢哈哈哈;P;P
页:
[1]