我正在尝试从编译的 java 文件或组织到目录中的一段代码中创建一个库 jar。当我使用 eclipse 创建 jar 文件并在实际代码中使用它时它工作正常但是当我使用 intellij 创建 jar 文件时,代码无法找到 jar 文件中的包。当我比较两个 jar 文件(一个由 eclipse 创建的一个和一个由 intellij 创建的)时,它们具有相同的目录结构,并且都有带有虚拟信息的清单文件。我在这里做错了什么。我想我错过了一些明显的东西。
谢谢
编辑:问题已回答,我需要将“编译输出”放入 jar 中;我手动将编译后的类文件添加到 jar 中,但由于某种原因它不起作用。
我无法在这个网站上找到类似的问题,但是可以在两个不同的文件上声明一个类.
例如,文件和私有中的所有公共类组件以及不同文件中的其他组件.
publics.h
class test {
public:
int geta();
void seta(int);
};
Run Code Online (Sandbox Code Playgroud)
privates.h
class test {
private:
int a;
};
Run Code Online (Sandbox Code Playgroud)
上面的方法肯定是错的,但有没有这样的方法.
在IntelliJ中,Darcula主题字体如下所示

在默认的灯光主题中,它们如下所示

我想使用较轻的默认主题,但我发现darcula主题中的字体比默认的更轻的主题更"清晰".你能让我知道如何解决这个问题吗?
PS:我正在使用Linux机器
我在C中试验了malloc,我观察到malloc在分配了一些内存后浪费了一些空间.下面是我用来测试malloc的代码片段
#include <stdlib.h>
#include <string.h>
int main(){
char* a;
char* b;
a=malloc(2*sizeof(char));
b=malloc(2*sizeof(char));
memset(a,9,2);
memset(b,9,2);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在下图的右下方(为清晰起见,在新选项卡中打开图像),您可以看到内存内容; 0x804b008是变量'a'指向的地址,0x804b018是变量'b'指向的内存.从0x804b00a 0x804b017到内存发生了什么?即使我尝试分配3*sizeof(char)而不是2*sizeof(char)内存字节,内存布局是相同的!那么,有什么我想念的吗?

如果一个java类classA正在扩展classB,它就无法扩展Observable.但是如果setChanged()函数是公共的,而不是受保护的,我们可以使用组合来创建Observablein 的实例classA.
我想知道setChanged()保护背后的思考过程是什么.
我正在上编程语言课.导师正在解释有关呼叫堆栈的问题.我怀疑导师无法正确解释.如果函数(func1)返回嵌套函数(比如func2并让func2使用func1中定义的变量).我们将返回的值保存在某个变量中,比如returnFunc.在func1中的return语句完成后,func1将退出.并且func1的堆栈帧应该从调用堆栈中弹出.我们现在在代码中的其他地方调用returnFunc.但是,returnFunc使用func1本地的变量,其堆栈帧不再存在于调用堆栈中.这是如何运作的.
示例python代码:
def func1():
a = 3;
def func2():
print(a)
return func2
returnedFunc = func1()
returnedFunc()
Run Code Online (Sandbox Code Playgroud)
这段代码正确打印3.然而我期待一些垃圾值,因为func1在调用堆栈上不再存在
既然auto关键字是在c ++ 11中引入的,我认为我们应该能够删除指定auto并简单地将变量初始化为v = 20.由于C++能够自己推断变量的类型,为什么不将auto关键字全部放在一起,并在第一次初始化时推导出变量的类型.
即代替
int main() {
auto v = 20;
}
Run Code Online (Sandbox Code Playgroud)
为什么不说
int main() {
v = 20;
}
Run Code Online (Sandbox Code Playgroud)
(假设没有与全局变量冲突,因为python对这种情况很好)