小编Leh*_*ane的帖子

C++编译器可以重新排序结构中的元素

C++编译器(特别是g ++)可以重新排序结构的内部元素吗?

我看到一些奇怪的行为,我有一个包含如下内容的结构:

Struct SomeStruct{
   ...
   ...
   long someLong;
   long someLongArray[25];
   unsigned long someUnsignedLong;
   unsigned long someUnsignedLongArray[8];
   unsigned long int someUnsignedLongInt;
   ...
   ...
};
Run Code Online (Sandbox Code Playgroud)

当我写输出这个到文件,顺序someUnsignedLongArraysomeLongArray似乎被反转(即,在元件someLongArray []出现之后someUnsignedLong和的元素someUnsignedLongArray []后出现someLong).这可能吗??

谢谢


更新:根据要求,我使用以下内容写出结构:

int fd = open(fspec,O_RDWR|O_CREAT|O_TRUNC,0666);
int writeRes =  write(fd,(char *)&someStruct,sizeof(SomeStruct));
Run Code Online (Sandbox Code Playgroud)

为了完整性,这里是完整的结构:

struct SomeStruct{
byte someByte;
byte someByteArray[6];
char someChar;
char someCharArray[5];
char someCharArrayArray[3][5];
short someShort;
signed short someShortArray[2];
unsigned short someUnsignedShort;
unsigned short someUnsignedShortArray[8];
int someInt;
int someIntArray[3];
int someIntArrayArrayArrayArray[4][3][2][6]; …
Run Code Online (Sandbox Code Playgroud)

c++ struct element

12
推荐指数
2
解决办法
7798
查看次数

java属性文件中的当前目录

有没有办法在java属性文件中指定当前目录?

即:像:

fileLocation={currentDir}/fileName.txt
Run Code Online (Sandbox Code Playgroud)

java properties path

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

Tomcat中的常见JNDI资源

我在Tomcat(5.5)中运行了几个servlet应用程序.所有servlet都使用通过JNDI共享的公共工厂资源.目前,我可以通过在/conf/server.xml文件中将工厂资源包含为GlobalNamingResource来使一切正常工作,然后让每个servlet的META-INF/context.xml文件包含资源的ResourceLink.XML文件中的代码段包含在下面.注意:我对tomcat并不熟悉,所以我不是说这是一个很好的配置!

但是,我现在希望能够使用RPM自动将这些servlet安装到多个tomcat实例中.RPM将首先将WAR复制到webapps目录,将工厂的jar复制到common/lib目录(这很好).但它还需要确保将工厂资源作为所有servlet的资源包含在内.

全局添加资源的最佳方法是什么?我不太热衷于编写一个进入server.xml文件的脚本,并以这种方式添加资源.有没有办法让我添加多个server.xml文件,以便我可以编写一个新的server-app.xml文件,它会将我的设置连接到server.xml?或者,最好还是将这个JNDI资源添加到所有servlet而不使用server.xml?

ps重新启动服务器不会是一个问题,所以我不介意更改是否自动获取.

谢谢

来自server.xml的代码段

  <!-- Global JNDI resources -->
  <GlobalNamingResources>

  <Resource name="bean/MyFactory"
                auth="Container"
                type="com.somewhere.Connection"
                factory="com.somewhere.MyFactory"/> 
  </GlobalNamingResources> 
Run Code Online (Sandbox Code Playgroud)

整个servlet的META-INF/context.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<Context>
    <ResourceLink global="bean/MyFactory"
                name="bean/MyFactory"
                type="com.somewhere.MyFactory"/>
  </Context>
Run Code Online (Sandbox Code Playgroud)

java resources tomcat jndi

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

Java返回副本以隐藏未来的更改

在Java中,假设您有一个包装ArrayList对象(或任何集合)的类.

您将如何返回其中一个对象,以致调用者将看不到对ArrayList中对象的任何未来更改?

即你想要返回对象的深层副本,但你不知道它是否是可克隆的.

java deep-copy cloning

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

Java绑定与手动定义类

我有一个XML模式,我需要为其创建Java类.它不是一个特别大的模式,我会说它将导致大约20个类.我试图权衡是否使用自动绑定程序(如JAXB或JiBX中提供的程序)或者是否手动编写我自己的类并使用XStream之类的内容进行编组/解组.

编写自己的类而不是使用绑定程序有什么优点/缺点.

另外,我使用绑定程序,我永远与之绑定.例如,如果我使用JAXB的绑定编译器来创建类,我是否必须使用JAXB进行所有编组/解组?

ps我看过以下关于XML绑定/序列化的问题,这些问题很有用,但没有完全回答我的问题: xml-serialization-in-javajava-xml-binding

java xml binding

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

从JAR目录中读取属性文件

我正在创建一个可执行的JAR,它将在运行时从一个文件中读取一组属性.目录结构将类似于:

/some/dirs/executable.jar
/some/dirs/executable.properties
Run Code Online (Sandbox Code Playgroud)

有没有办法在executable.jar文件中设置属性加载器类来从jar所在的目录加载属性,而不是硬编码目录.

我不想将属性放在jar本身,因为属性文件需要是可配置的.

java jar properties path

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

在Java中复制C struct padding

根据这里,C编译器将在将结构写入二进制文件时填充值.正如链接中的示例所示,在编写这样的结构时:

struct {
 char c;
 int i;
} a;
Run Code Online (Sandbox Code Playgroud)

对于二进制文件,编译器通常会在char和int字段之间留下未命名的未使用的孔,以确保int字段正确对齐.

我怎样才能使用不同的语言(在我的例子中,Java)创建二进制输出文件(在C中生成)的精确副本?

是否有自动方式在Java输出中应用C填充?或者我是否必须通过编译器文档来了解它是如何工作的(顺便说一句,编译器是g ++).

c java compiler-construction padding

4
推荐指数
3
解决办法
4630
查看次数

用于生成ISO文件的Maven插件

是否有能够生成ISO映像的maven插件?

我需要获取一些模块的输出(主要是包含jar的zip文件)并将它们组合成一个ISO映像.

谢谢

java plugins iso maven-2

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

Java对象到XML模式

如果您有一个Java对象和一个XML模式(XSD),那么获取该对象并将其转换为符合模式的xml文件的最佳方法是什么.对象和模式彼此不了解(因为java类不是从模式创建的).

例如,在类中,可能存在整数字段'totalCountValue',它对应于xsd文件中名为'countTotal'的元素.有没有办法创建一个映射,说明"如果对象包含int totalCountValue,则创建一个名为'countTotal'的元素并将其放入XML中".类似地,对象中可能存在应该被忽略的字段,或者对象中应该对应于多个XML元素的列表.

我看了XStream,但没有看到任何(显而易见的)方法.是否有其他XML库可以简化此任务?

java xml object

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

java.nio通道缓冲流术语

在java.io和java.nio中,是否有人用于描述缓冲区,流,读取器,通道,选择器等之间的关系(或者,这是一个很好的资源)?

谢谢

java nio terminology

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