如何定义一个公用头文件在VB.NET中?
比如一个stuct,或者一个enum
C++
#include "myfile.h"
VB.NET中是怎么干的?
6 个解决方案
#1
VB.NET没有头文件的说法。
作为习惯一个类一个文件(多个类都写在一个文件里也可以)
比如:
共通的结构,枚举可以放到一个Common.vb里
只要在一个工程里,你都使用它们。不同工程通过引用工程或者编译好的dll,也可以使用。
作为习惯一个类一个文件(多个类都写在一个文件里也可以)
比如:
共通的结构,枚举可以放到一个Common.vb里
Public Struct Point
Public X As Integer
Public Y As Integer
End Struct
Public Enum EnumLocation
Top
Bottom
Left
Right
End Enum
只要在一个工程里,你都使用它们。不同工程通过引用工程或者编译好的dll,也可以使用。
#2
首先。你就没有明白 C/C++ 的头文件是干什么的。
#include 指令会将另一个文件以文本的形式嵌入到另一个源代码之中。
比如
1.cpp
app.h
虽然这种形式不多见,但是的确是合法的。
注意 include 只是一个预处理指令,它先于编译器之前工作。为什么C语言有这些预处理器指令,这是历史原因造成的,包括编译器性能、存储器大小、开发/编辑程序的环境等等。
#include 指令会将另一个文件以文本的形式嵌入到另一个源代码之中。
比如
1.cpp
#include <iostream>
using namespace std;
int main(int argc, char** args)
{
#include "app.h"
}
app.h
cout << "Hello World!" << endl;
虽然这种形式不多见,但是的确是合法的。
注意 include 只是一个预处理指令,它先于编译器之前工作。为什么C语言有这些预处理器指令,这是历史原因造成的,包括编译器性能、存储器大小、开发/编辑程序的环境等等。
#3
如果要说等效语法,你应该拿C/C++的向前申明语法和Link指令来类比:
比如你有 1.cpp 2.cpp
1.cpp
2.cpp
然后编译器会识别出它是一个外部符号,而链接器则完成定位。
拿这个去和 VB.NET 的“引用”比较,才稍微有些意义。
比如你有 1.cpp 2.cpp
1.cpp
exturn void Func();
main()
{
Func();
}
2.cpp
void Func()
{
...
}
然后编译器会识别出它是一个外部符号,而链接器则完成定位。
拿这个去和 VB.NET 的“引用”比较,才稍微有些意义。
#4
拼写错了,是 extern。
#5
got it. thanks
#6
你想多了
#1
VB.NET没有头文件的说法。
作为习惯一个类一个文件(多个类都写在一个文件里也可以)
比如:
共通的结构,枚举可以放到一个Common.vb里
只要在一个工程里,你都使用它们。不同工程通过引用工程或者编译好的dll,也可以使用。
作为习惯一个类一个文件(多个类都写在一个文件里也可以)
比如:
共通的结构,枚举可以放到一个Common.vb里
Public Struct Point
Public X As Integer
Public Y As Integer
End Struct
Public Enum EnumLocation
Top
Bottom
Left
Right
End Enum
只要在一个工程里,你都使用它们。不同工程通过引用工程或者编译好的dll,也可以使用。
#2
首先。你就没有明白 C/C++ 的头文件是干什么的。
#include 指令会将另一个文件以文本的形式嵌入到另一个源代码之中。
比如
1.cpp
app.h
虽然这种形式不多见,但是的确是合法的。
注意 include 只是一个预处理指令,它先于编译器之前工作。为什么C语言有这些预处理器指令,这是历史原因造成的,包括编译器性能、存储器大小、开发/编辑程序的环境等等。
#include 指令会将另一个文件以文本的形式嵌入到另一个源代码之中。
比如
1.cpp
#include <iostream>
using namespace std;
int main(int argc, char** args)
{
#include "app.h"
}
app.h
cout << "Hello World!" << endl;
虽然这种形式不多见,但是的确是合法的。
注意 include 只是一个预处理指令,它先于编译器之前工作。为什么C语言有这些预处理器指令,这是历史原因造成的,包括编译器性能、存储器大小、开发/编辑程序的环境等等。
#3
如果要说等效语法,你应该拿C/C++的向前申明语法和Link指令来类比:
比如你有 1.cpp 2.cpp
1.cpp
2.cpp
然后编译器会识别出它是一个外部符号,而链接器则完成定位。
拿这个去和 VB.NET 的“引用”比较,才稍微有些意义。
比如你有 1.cpp 2.cpp
1.cpp
exturn void Func();
main()
{
Func();
}
2.cpp
void Func()
{
...
}
然后编译器会识别出它是一个外部符号,而链接器则完成定位。
拿这个去和 VB.NET 的“引用”比较,才稍微有些意义。
#4
拼写错了,是 extern。
#5
got it. thanks
#6
你想多了