‘壹’ 从虚拟机上把文件复制到编译器上编译就会报错为啥
1.下载在GCC网站上(阅读。3.建立目标目录目标目录(用${objdir}表示)是用来存放编译结果的地方。GCC建议编译后的文件不要放在源目录${srcdir]中(虽然这样做也可以),最好单独存放在另外一个目录中,而且不能是${srcdir}的子目录。例如,可以这样建立一个叫gcc-build的目标目录(与源目录${srcdir}是同级目录):%mkdirgcc-build%cdgcc-build以下的操作主要是在目标目录${objdir}下进行。4.配置配置的目的是决定将GCC编译器安装到什么地方(${destdir}),支持什么语言以及指定其它一些选项等。其中,${destdir}不能与${objdir}或${srcdir}目录相同。配置是通过执行${srcdir}下的configure来完成的。其命令格式为(记得用你的真实路径替换${destdir}):%${srcdir}/configure--prefix=${destdir}[其它选项]例如,如果想将GCC3.4.0安装到/usr/local/gcc-3.4.0目录下,则${destdir}就表示这个路径。在我的机器上,我是这样配置的:%../gcc-3.4.0/configure--prefix=/usr/local/gcc-3.4.0--enable-threads=posix--disable-checking--enable--long-long--host=i386-redhat-linux--with-system-zlib--enable-languages=c,c++,java将GCC安装在/usr/local/gcc-3.4.0目录下,支持C/C++和JAVA语言,其它选项参见GCC提供的帮助说明。5.编译%make这是一个漫长的过程。在我的机器上(P4-1.6),这个过程用了50多分钟。6.安装执行下面的命令将编译好的库文件等拷贝到${destdir}目录中(根据你设定的路径,可能需要管理员的权限):%makeinstall至此,GCC3.4.0安装过程就完成了。6.其它设置GCC3.4.0的所有文件,包括命令文件(如gcc、g++)、库文件等都在${destdir}目录下分别存放,如命令文件放在bin目录下、库文件在lib下、头文件在include下等。由于命令文件和库文件所在的目录还没有包含在相应的搜索路径内,所以必须要作适当的设置之后编译器才能顺利地找到并使用它们。6.1gcc、g++、gcj的设置要想使用GCC3.4.0的gcc等命令,简单的方法就是把它的路径${destdir}/bin放在环境变量PATH中。我不用这种方式,而是用符号连接的方式实现,这样做的好处是我仍然可以使用系统上原来的旧版本的GCC编译器。首先,查看原来的gcc所在的路径:%whichgcc在我的系统上,上述命令显示:/usr/bin/gcc。因此,原来的gcc命令在/usr/bin目录下。我们可以把GCC3.4.0中的gcc、g++、gcj等命令在/usr/bin目录下分别做一个符号连接:%cd/usr/bin%ln-s${destdir}/bin/gccgcc34%ln-s${destdir}/bin/g++g++34%ln-s${destdir}/bin/gcjgcj34这样,就可以分别使用gcc34、g++34、gcj34来调用GCC3.4.0的gcc、g++、gcj完成对C、C++、JAVA程序的编译了。同时,仍然能够使用旧版本的GCC编译器中的gcc、g++等命令。6.2库路径的设置将${destdir}/lib路径添加到环境变量LD_LIBRARY_PATH中,最好添加到系统的配置文件中,这样就不必要每次都设置这个环境变量了。例如,如果GCC3.4.0安装在/usr/local/gcc-3.4.0目录下,在RHLinux下可以直接在命令行上执行或者在文件/etc/profile中添加下面一句:setenvLD_LIBRARY_PATH/usr/local/gcc-3.4.0/lib:$LD_LIBRARY_PATH7.测试用新的编译命令(gcc34、g++34等)编译你以前的C、C++程序,检验新安装的GCC编译器是否能正常工作。8.根据需要,可以删除或者保留${srcdir}和${objdir}目录。如果用的是ubuntu或者是fedora的话可以在源里直接安装
‘贰’ Java 的命令行 编译和运行参数 如:-cp 怎么理解
javac
用法:javac <选项> <源文件>
其中,可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件的位置
-cp <路径> 指定查找用户类文件的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖安装的扩展目录的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
-d <目录> 指定存放生成的类文件的位置
使用-d参数,如类中定义了包,则编译时会自动生成包, 如:javac -d . helloworld.java
表示在当前目录下编译Helloworld 类。.表示当前目录,如helloword中定义有包,则在当前目录下生成包:
-encoding <编码> 指定源文件使用的字符编码
-source <版本> 提供与指定版本的源兼容性
-target <版本> 生成特定 VM 版本的类文件
-version 版本信息
-help 输出标准选项的提要
-X 输出非标准选项的提要
-J<标志> 直接将 <标志> 传递给运行时系统
java
用法: java [-选项] 类 [参数...]
(执行一个类)
或者 java [-选项] -jar jar文件 [参数...]
(执行一个jar文件)
其中,可能的选项包括:
-client 选择 "client" VM(ginger547:应该是指Virtual Machine)
-server 选择 "server" VM
-hotspot 与 "client" VM同义 [不赞成]
默认情况的VM是client.
-cp <一个文件夹和zip/jar文件组成的类搜索路径>
-classpath <一个文件夹和zip/jar文件组成的类搜索路径>
一个由文件夹,JAR压缩文件,或者ZIP压缩文件组成的用来搜索类的列表
-D<名字>=<值>
设置一个系统属性
-verbose[:class|gc|jni]
使详细输出变的可用
-version 打印产品版本然后退出
-version:<值>
只运行指定版本
-showversion 打印产品版本后继续
-jre-restrict-search | -jre-no-restrict-search
在版本搜索的时候,包含/排除用户私人的JRE
-? -help 打印帮助信息
-X 打印非标准选项帮助
-ea[:<包名>...|:<类名>]
-enableassertions[:<包名>...|:<类名>]
使断言可用
-da[:<包名>...|:<类名>]
-disableassertions[:<包名>...|:<类名>]
是断言不可用
-esa | -enablesystemassertions
使系统级断言可用
-dsa | -disablesystemassertions
使系统级断言不可用
-agentlib:<库名>[=<选项>]
加载本地代理库<库名>,例如. -agentlib:hprof
同时可查看, -agentlib:jdwp=help和 -agentlib:hprof=help
-agentpath:<路径名>[=<选项>]
通过全路径名来加载本地代理库
-javaagent:<jar路径>[=<选项>]
加载Java编程语言代理,可查看 java.lang.instrument
‘叁’ linux cp命令对于拷贝文件和文件夹有何区别
cp文件时候可以不用加参数,但是cp文件夹的时候必须加-R或-r。解决方法如下:
1、首先将文件复制到另一个目录中:cp 文件名 目录名。复制a.txt至test目录中,则执行 cp a.txt /test 即可。
‘肆’ linux 比较大的文件,cp的过程中会影响原来文件写入吗
对于这个大文件来说,cp操作其实就是读操作,与此同时还要进行写操作。
这样若是写操作的数据量大的话肯定会有影响(磁盘IO会降低),若是写操作数据量小的话,那影响就可以忽略了。
‘伍’ linux中,用cp和tar备份一个目录的时候,有什么区别吗
区别肯定有的。cp 是相对于windows的命令,不会对文件进行压缩。tar会把文件打包为一个文件,好像也可以同时压缩文件吧,记不清了。
‘陆’ cp编译时间是什么意思
编译时间(compiling time) 指编译程序将源程序编译成目标程序所占用的时间。
用户使用编译程序对其个人编制的源程序进行编译的过程称为程序编译。
用通俗的话来回答:编译就是将人类语言转换为机器语言的过程。早期的计算机只能识别机器码,也就是由无数个0和1组成的命令和数据序列,人们要想叫机器做一个运算就要输入很多机器码,使用这种机器码既费事又容易出错。
‘柒’ linux复制文件后源文件存在吗
1、用cp命令可以复制全部文件。1)、复制的时候记得使用通配符*,*表示所有文件。
2)、复制的时候记得-R参数,即递归复制,可以将源文件夹下的子文件夹中的文件一并复制。
2、示例:将当前用户home目录下的doc文件夹下的所有文件复制到Downloads目录中。
3、cp命令使用详解:
1)、用法:cp [选项]... [-T] 源文件 目标文件
或:cp [选项]... 源文件... 目录
或:cp [选项]... -t 目录 源文件...
将源文件复制至目标文件,或将多个源文件复制至目标目录。
2)、长选项必须使用的参数对于短选项时也是必需使用的。
-a, --archive 等于-dR --preserve=all
--backup[=CONTROL 为每个已存在的目标文件创建备份
-b 类似--backup 但不接受参数
---contents 在递归处理是复制特殊文件内容
-d 等于--no-dereference --preserve=links
-f, --force 如果目标文件无法打开则将其移除并重试(当 -n 选项
存在时则不需再选此项)
-i, --interactive 覆盖前询问(使前面的 -n 选项失效)
-H 跟随源文件中的命令行符号链接
-l, --link 链接文件而不复制
-L, --dereference 总是跟随符号链接
-n, --no-clobber 不要覆盖已存在的文件(使前面的 -i 选项失效)
-P, --no-dereference 不跟随源文件中的符号链接
-p 等于--preserve=模式,所有权,时间戳
--preserve[=属性列表 保持指定的属性(默认:模式,所有权,时间戳),如果
可能保持附加属性:环境、链接、xattr 等
-c same as --preserve=context
--sno-preserve=属性列表 不保留指定的文件属性
--parents 复制前在目标目录创建来源文件路径中的所有目录
-R, -r, --recursive 递归复制目录及其子目录内的所有内容
‘捌’ Linux:为什么在脚本中用到cp的时候总会有文件拷贝不全的情况呢
该用户在cp某些文件时不具备这些文件的权限,所以会拷贝不了。用ROOT权限进行操作,cp命令加上-a参数 试试。
‘玖’ linux执行cp命令后,文件拷贝结束的一瞬间断电,文件会丢失吗
这个……,看分区模式,要是“日志”类的,启动后会按日志记录,继续做完整的。
现在不是实时都写入的,除非你做了sync,否则可能就是在缓冲……所以……
‘拾’ linux的cp -i 询问是否覆盖,但是文件太多,每次输入“n”太麻烦。请问有什么简单办法。
用mv命令就能实现覆盖, mv file /dst/file 会把dst文件夹下的file覆盖,如果dst下没有file文件,就复制。 一个命令,能用就可以了。 不知道