你能解释一下外在的含义和其他一些东西吗

Can you explain what extern means and some other things?

本文关键字:其他 能解释 一下      更新时间:2023-10-16

我知道extern C意味着函数应该以C风格编译,但是extern function_datatype functionname是什么意思?

extern void sharelog(const char *rem_host, const char *username,
         const char *, const char *,
         const char *, const char *);

没有"C"的extern是什么意思?

此外,在几乎每个程序的头文件中,我都会看到一些类似的东西

void sharelog(const char *rem_host, const char *username,
         const char *, const char *,
         const char *, const char *);

如果函数是在.c/.cpp文件中完成的,为什么要再次声明它?它有时也被声明为没有它的论点只是

int Function;

此外,一些函数可以这样写:

int CSomething::Somefunction() const

为什么在函数后面加const?

我还偶然发现了具有这些神秘点的函数

void function(int prio, const char *fmt, ...)

我还想问很多其他的问题,但我似乎已经问够了。我知道你们中的一些人可能会说去学习C/C++,但相信我,这些东西不是为初学者讨论的。

  1. extern在c++中是如何工作的
  2. 为什么C++需要一个单独的头文件
  3. const CFoo&bar()const和What';常量成员函数和非常量成员函数之间的区别是什么
  4. 什么';It’这是';…的正确术语';代币

没有"C"extern来自C++之前的时代,当时您需要一种方法来告诉C编译器某个函数在"某个地方"可用,并且它应该允许链接器找到它。

extern的声明允许编译器将函数添加到已知名称列表中,即使它无法解析地址。