A. 为什么libsvm不同语言版本以及在不同系统上的运行结果不一致
这个问题是因为你的matlab是64位的版本,现在libsvm针对64位系统单独做了封装。在libsvm下有一个window目录,libsvm\windows\*.mexw64。直接将libsvm\windows加载到matlab运行路径上就可以了。无需编译!
B. 不同的c语言编译系统差别在哪里代码是否 存在兼容性的问题
ANSI
C
一般都可以支持,但也涉及到不同版本的C标准的兼容性问题,比如VC6不支持C99,VS2003,2005,2008,20120等就可以部分支持C99标准;而且很多标准并没有规定实现,不同的编译器实现可能不同,比如C标准只规定了short<=int<=long,但并没有规定字节数,导致不同的编译器数据类型的大小各不相同。
非
ANSI
C标准的话,不同的编译器一般都有不同的实现,需要分别实现。
在移植到不同编译器的时候这些都要注意处理,比较常规的做法是数据类型和函数等自己根据不同编译器封装成一个统一的格式,在程序中使用封装后的数据类型或函数,而不要使用原生类型,这样在移植时只需要在封装的地方根据编译器的不同进行修改就可以了,不需要再修改源代码。
C. pb中在pb环境下运行的程序和编译的程序不一样怎么解决(注:和数据窗口无关)
我用的环境是WindowsXP系统,PowerBuilder9在调试时使用的是Windows经典样式,它是不管系统的显示样式如何设置的,所以当系统显示样式设置成其它样式时,编译后的程序运行界面就与调试时显示的界面就可能会出现差异。
其实,这种差异并不是一种“错误”,只是显示时因样式变化而出现的走样。如果是WindowsXP系统,将显示样式设置成Windows经典样式,可以确保两种试运行时界面显示一样。
D. 我的java编译环境和运行环境版本 不一致
把环境变量path里的jdk1.6放到1.4版本的前面,这应该是你装oracle或其它软件整的!
E. C语言同一段代码,同样的文件,编译器为什么运行结果不一样
有如下几种可能:
1 代码运行的平台硬件不同。
不同的CPU,如嵌入式CPU,intel CPU,以及IBM的CPU,在硬件最底层就是不同的,而C语言是一门和底层相关性极大的语言,在不同的硬件上运行出不同结果是很正常的。
2 代码运行的系统不同。
相同CPU在不同操作系统上跑相同代码时,一样会出现不同的结果。这是由于系统底层的实现不同造成的。比如linux和Windows,在底层处理上就有一定的差异。
3 编译器不同,同时代码中使用了C规范未定义规则的语句。
C语言规范并没有对C语言的所有行为做定义,所以相同语句,不同编译器的运行效果可能有所不同。比如同样的sizeof(int),在16位编译器上结果为2,而32位编译器上就会是4。
4 代码获取到的外部数据不同。
比如运行代码时获取到的其它输入不同,包括程序中获取的环境变量,实时信息,以及各种外部输入等,均有可能出现不同。
比如在做随机数时,如果以当前时间设定随机数种子,由于每次的时间是不同的,同一个程序每次运行的结果都是不同的。
F. 我在linux环境下怎么就是编译不成功
你这个问题问得太模糊。你问的应该也不是一个简单的c语言或者其他语言写的代码(就一个文件)的编译问题。
同样一套代码,在不同的系统下面,是不一样的,在windows下面能过,在linux下不一定能过,在linux下能过,在unix下不一定能过,在suse
linux下能过,
在red
hat
linux下不一定能过,
在ubuntu
14.04
linux
下能过,
在ubuntu
12.04
linux
下不一定能过.
编译环境不同,编译结果就可能会不同。编译环境大致相同,编译结果都可能不一致,例如python,
版本不一致,gcc,
arm
rvds版本不一致,
perl版本不一致,
make
版本不一致,编译结果都可能不一致。
解决编译问题的基本方法就是看编译错误,从错误入手。另一个基本方法是,与能编译过的系统对比环境,一点一点找问题。
编译环境不是一句话可以说清楚的。举个例子:有兴趣可以看看android的编译,网上的资料很多。
G. 易语言用不同版本的VCLinker编译的程序在不同操作系统上的兼容性问题
易语言在静态编译时,不会将该程序所使用的dll文件打包到发布的PE版中,其编译后的程序在运行时将自动在当前目录和Windows\system32文件下寻找。
由于XP精简版没有这个kernel32.dll文件,所以当你程序所使用的dll文件,在其他操作系统中不存在时, 该程序不能运行。
解决办法:在发布软件时,考虑到操作系统是否有本程序使用到的这些dll文件,要将操作系统没有的dll文件也一且进行发布(可以存放在该发布软件的执行文件的同一目录中)
H. 同一个 Java 文件用不同的 jdk 编译出的 class 文件是一样的吗
不一样
不同点主要体现在两个部分:
1、每个class文件的开头几个字节中有标识jdk版本的数值信息,这个应该不一样,比如jdk5编译的是49,jdk6编译的是50;javac 有两个参数是 -source <版本> 和 -target <版本>,一般来说,如果target相同的话,编译出来的class文件时完全相同的,但是反之则不一定相同
2、有些编译器在编译时会进行优化,比如将static final的常量直接inline到使用该常量的地方
I. 为什么编程错误呢不管是按照书上的样式写上去或者从网上复制,都是错的!
这个原因很多的,可能是使用的编译器不一样,版本不一样,系统不一样,缺少插件什么的原因,把原理看懂了自己在写一个就行了,别CVS。