c – 此功能定义如何工作?

c – 此功能定义如何工作?,第1张

概述我几天前用gperf生成了一个哈希函数.我看到的哈希函数对我来说是陌生的.它是这样的(我不记得确切的语法): unsigned inthash(str, size) register char* str; register unsigned int size;{ //Definition} 现在,当我尝试使用C编译器(g)进行编译时,由于没有声明str和size,它向我抛出 我几天前用gperf生成了一个哈希函数.我看到的哈希函数对我来说是陌生的.它是这样的(我不记得确切的语法):
unsigned inthash(str,size)   register char* str;   register unsigned int size;{   //DeFinition}

现在,当我尝试使用C编译器(g)进行编译时,由于没有声明str和size,它向我抛出了错误.但这是在C编译器(gcc)上编译的.所以,问题:

>我认为C是C的超集.如果是这样的话,这应该用C编译器编译吧?
> C编译器如何理解定义? str和size在首次出现时未声明.
>在函数签名之后但在函数体之前声明str和size的目的是什么,而不是遵循在两个地方中的任何一个中执行它的正常方法?
>我如何让这个函数在g上编译,所以我可以在我的C代码中使用它?或者我应该尝试从gperf生成C代码?那可能吗?

解决方法 1. C不是超集,虽然这也不是标准C.

2/3.这是K& R函数声明.见What are the major differences between ANSI C and K&R C?
.

4.实际上,gperf确实有一个选项-L来指定语言.你可以使用-L C来使用C.

总结

以上是内存溢出为你收集整理的c – 此功能定义如何工作?全部内容,希望文章能够帮你解决c – 此功能定义如何工作?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1234758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存