小编nag*_*hna的帖子

使用intellij创建java库jar

我正在尝试从编译的 java 文件或组织到目录中的一段代码中创建一个库 jar。当我使用 eclipse 创建 jar 文件并在实际代码中使用它时它工作正常但是当我使用 intellij 创建 jar 文件时,代码无法找到 jar 文件中的包。当我比较两个 jar 文件(一个由 eclipse 创建的一个和一个由 intellij 创建的)时,它们具有相同的目录结构,并且都有带有虚拟信息的清单文件。我在这里做错了什么。我想我错过了一些明显的东西。

谢谢

编辑:问题已回答,我需要将“编译输出”放入 jar 中;我手动将编译后的类文件添加到 jar 中,但由于某种原因它不起作用。

java jar intellij-idea

7
推荐指数
1
解决办法
1万
查看次数

不同文件的类声明

我无法在这个网站上找到类似的问题,但是可以在两个不同的文件上声明一个类.

例如,文件和私有中的所有公共类组件以及不同文件中的其他组件.

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)

上面的方法肯定是错的,但有没有这样的方法.

c++ class declaration

6
推荐指数
2
解决办法
1779
查看次数

为什么在intellij中不同主题的字体看起来如此不同?

在IntelliJ中,Darcula主题字体如下所示

在此输入图像描述

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

在此输入图像描述

我想使用较轻的默认主题,但我发现darcula主题中的字体比默认的更轻的主题更"清晰".你能让我知道如何解决这个问题吗?

PS:我正在使用Linux机器

user-interface fonts render intellij-idea

6
推荐指数
1
解决办法
6740
查看次数

C中的malloc内存分配方案

我在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)内存字节,内存布局是相同的!那么,有什么我想念的吗?

gdb接口

c malloc

4
推荐指数
1
解决办法
2344
查看次数

在java中,为什么Observable的setChanged()受到保护?

如果一个java类classA正在扩展classB,它就无法扩展Observable.但是如果setChanged()函数是公共的,而不是受保护的,我们可以使用组合来创建Observablein 的实例classA.

我想知道setChanged()保护背后的思考过程是什么.

java design-patterns

4
推荐指数
1
解决办法
746
查看次数

用编程语言调用堆栈实现

我正在上编程语言课.导师正在解释有关呼叫堆栈的问题.我怀疑导师无法正确解释.如果函数(func1)返回嵌套函数(比如func2并让func2使用func1中定义的变量).我们将返回的值保存在某个变量中,比如returnFunc.在func1中的return语句完成后,func1将退出.并且func1的堆栈帧应该从调用堆栈中弹出.我们现在在代码中的其他地方调用returnFunc.但是,returnFunc使用fu​​nc1本地的变量,其堆栈帧不再存在于调用堆栈中.这是如何运作的.

示例python代码:

def func1():
    a = 3;
    def func2():
        print(a)
    return func2

returnedFunc = func1()
returnedFunc()
Run Code Online (Sandbox Code Playgroud)

这段代码正确打印3.然而我期待一些垃圾值,因为func1在调用堆栈上不再存在

python callstack nested-function

3
推荐指数
1
解决办法
349
查看次数

为什么不删除"auto"关键字?

既然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对这种情况很好)

c++ initialization auto c++11

-24
推荐指数
1
解决办法
1031
查看次数