小编Bai*_*ang的帖子

如何在清除文件中设置类路径,同时从eclipse创建JAR?

I am trying to creat JAR file through eclipse. I read some of the threads from
Run Code Online (Sandbox Code Playgroud)

stackoverflow以及其他论坛.但没有任何帮助.

我创建了一个像这样的单独的清单文件.

Manifest-Version: 1.0
Main-Class: Main
Class-Path: gnujaxp.jar iText-2.1.5.jar jcalendar.jar jcommon-1.0.16.jar jfreechart-1.0.13.jar jfreechart-1.0.13-experimental.jar jfreechart-1.0.13-swt.jar junit.jar servlet.jar swtgraphics2d.jar tinyos.jar
Run Code Online (Sandbox Code Playgroud)

我把所有这些罐放在同一个项目文件夹中.

导出时我正在导出所有资源(也就是这个jar文件.)

但是当我的应用程序试图加载任何一个包含的jar时,我仍然会收到noclassdeffound错误.

我错在哪里..

提前致谢.

java jar manifest executable-jar

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

具有跨 DLL/SO 使用的静态数据成员的模板类

假设我有这样一个模板类:

template <class T>
class Queue
{
public:
    static int Size;
};

template <class T> int Queue<T>::Size = 0;
Run Code Online (Sandbox Code Playgroud)

我在 D.dll 中导出一个函数,使用 Queue 作为参数:

void ChangeQueueSize(Queue<int>& q)
{
    q.Size = 100;
}
Run Code Online (Sandbox Code Playgroud)

然后我在 A.exe 中使用这个导出的函数:

Queue<int> q;

q.Size = 10; 

ChangeQueueSize(q);

int updatedSize = q.Size;
Run Code Online (Sandbox Code Playgroud)

由于 Queue 类是从 2 个项目中的类模板生成的,因此实际上有 2 份代码以及静态数据成员。

因此,调用 ChangeQueueSize 不会真正改变队列大小,它只是更新另一个类的静态成员,该成员恰好具有相同的类名。

我们能做些什么来解决这个问题呢?
gcc 中的弱符号能够解决这个问题吗?
非常感谢。

c++ static templates export

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

读取大文件时是否消耗CPU

假设我想在我的 2 核机器上执行以下操作:

  1. 读取一个非常大的文件

  2. 计算

文件读取操作需要消耗1核吗?以前我只创建了 2 个线程,一个用于读取文件,一个用于计算?我应该创建一个额外的线程来进行计算吗?

谢谢。

编辑

谢谢大家,是的,我们应该始终考虑文件 I/O 是否会阻塞计算。现在我们只考虑文件I/O永远不会阻塞计算,你可以认为计算不依赖于文件的数据,我们只是读入文件以备将来处理。现在我们有2个核心,我们需要读入一个文件,我们需要做计算,创建3个线程,1个用于文件读取,2个用于计算,是不是最好的解决方案,正如你们大多数人已经指出的:文件阅读消耗很少的CPU?

parallel-processing file-io

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

为什么在构建C++代码时编译+链接,而不是直接生成可执行文件

当导师入门级程序员时,我被问到这个问题,我正在考虑这个官方和通常的编译+链接过程,我从来没有想过为什么.

我能想到的一件事是提高开发效率,但是还有其他更多与编译器相关的原因吗?

c++ compiler-construction build

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

如何为JNI代码生成故障转储

大家,

假设我在Windows中有一个简单的JNI程序:

int* p = NULL;
*p = 5;
Run Code Online (Sandbox Code Playgroud)

当从JVM运行它时,不像普通的C++应用程序,JVM将很好地捕获这样的硬异常并做一些清理工作.

这里的问题是它也阻止我在那里生成崩溃转储,虽然有一个JVM选项:-XX:OnError,但此时生成的核心转储远离犯罪现场,因此难以调试.

JVM使用SEH包装每个Java线程:

__try
{
    thread.run()
}
__except(topLevelExceptionFilter())
{
}
Run Code Online (Sandbox Code Playgroud)

导致访问冲突的JNI代码发生在thread.run中,但是在topLevelExceptionFilter中处理,它已经在其他地方了.

你有什么建议吗?

谢谢.

java java-native-interface dump

3
推荐指数
2
解决办法
3573
查看次数

有没有一种简单的方法来检查基本类型

在<Modern C++ Design>中,它介绍了一种通过引入所谓的类型列表来检查类型基本类型的方法.但是,如果我不想包含这么多的loki代码并且想要一个简单的函数来实现它呢?最简单的方法是什么?

c++ types

2
推荐指数
1
解决办法
710
查看次数

pAddress和〜(PAGE_SIZE - 1)中获取页面基址的技巧是什么?

以下函数用于获取该页面内地址的页面基址:

void* GetPageAddress(void* pAddress)
{
    return (void*)((ULONG_PTR)pAddress & ~(PAGE_SIZE - 1));
}
Run Code Online (Sandbox Code Playgroud)

但是我无法理解它,它在这里扮演的诀窍是什么?

结论:就
个人而言,我认为Amardeep的解释加上Alex B的例子是最好的答案.由于亚历克斯B的答案已经被投票,我想接受Amardeep的答案作为正式的答案来突出它!谢谢大家.

c c++ bit-manipulation

1
推荐指数
2
解决办法
894
查看次数

如何编写跨平台的perl代码

一个perl脚本,包括Windows和Linux的不同模块,为了使它跨平台,我想要实现它,就像在C++中一样:

#if _WIN32
//...
#else
//...
#endif
Run Code Online (Sandbox Code Playgroud)

perl cross-platform

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