1.å¦ä½å¨Linuxç³»ç»ä¸å®è£
åºç¨è½¯ä»¶
2.SUSE Linux Enterprise Server 11 SP3安装教程详解
3.å¦ä½å¨å·²å®è£
çsuselinux10.2ä¸ å®è£
g++
4.å¦ä½å¨linux suseä¸å®è£
Oracle 11gå®è£
åå¤
å¦ä½å¨Linuxç³»ç»ä¸å®è£ åºç¨è½¯ä»¶
ããæ°çæä½ç³»ç»è£ 好äºï¼å®è£ ä¸äºæ°ç软件é£æ¯é¾å çãä½æ¯å¨Linuxä¸ï¼å®è£ åºç¨è½¯ä»¶åWindowsä¸æäºä¸åå¦ãèä¸å¯¹äºLinuxåå¦è æ¥è¯´ï¼å®è£ 软件æ¯ä¸ä»¶å¾è®©äººå¤´ç¼çäºæ ãç±äºå¾å¤Linuxåºç¨è½¯ä»¶é½æ¯ä»¥æºä»£ç çå½¢å¼åå¸çï¼è¿å°±è¦æ±ç¨æ·æ ¹æ®èªå·±ç³»ç»çå®é æ åµåèªèº«çéè¦æ¥é ç½®ãç¼è¯æºç¨åºåï¼æè½ä½¿ç¨è¿äºè½¯ä»¶ãããç®åæµè¡ç软件å æ两ç§æ¯è¾å¸¸è§çå½¢å¼ï¼ä¸ç§æ¯ä»¥ RPMãdebå 为代表çæºè½è½¯ä»¶å ï¼å¦ä¸ç§æ¯file.tar.gzå½¢å¼çå缩ãæ¬æå°è®¨è®ºfile.tar.gzçå®è£ æ¹æ³ä»¥åæºè½è½¯ä»¶å å¨ææ¬ç¯å¢åå¾å½¢ç¯å¢ä¸çå®è£ æ¹æ³ãããä¸ãæºä»£ç å®è£ ããåºç¨è½¯ä»¶çæºä»£ç ä¸è¬æ¯file.tar.gzæè file.tgzæ ¼å¼ï¼ä¹å°±æ¯è¯´æ¯ä»¥taræ¥æå ï¼ç¶åç¨gzipæ¥å缩ããã以åºç¨è½¯ä»¶xfce-3.8.7.tar.gz为ä¾ï¼å è¿å ¥è½¯ä»¶çå½åç®å½ï¼ç¶å使ç¨gzip解åï¼#gzip -d xfce-3.8.7.tar.gz(注:-d 代表解å)ãç¶åç¨tar解å ï¼#tar -xvf xfce-3.8.7.tarãç±äºtarågzipç»å¸¸ä¸èµ·ä½¿ç¨ï¼æ以tarè¿æä¾äºä¸ä¸ªåæ°ï¼å®å¯ä»¥èªå¨è°ç¨gzipæ¥è§£åï¼å³ï¼# tar -xzvf xfce-3.8.7.tar.gzãããè¿å ¥è§£åå®æä¹åæ°å»ºç«çç®å½ï¼ä¸è¬çåºç¨è½¯ä»¶ä¸é½æä¸ä¸ªç¨æ¥é 置软件çå¯æ§è¡æ件configureï¼å®çåæ°æ¯è¾å¤ï¼èä¸ç¨æ³ä¹é常çµæ´»ãå½ç¶ï¼å®è£ ä¸åç软件åæ°ä¹ä¸ç¸åï¼å ·ä½æäºä»ä¹åæ°ï¼å¯ä»¥ç¨å½ä»¤:#./configure helpåå¾è¯¦ç»ç帮å©ãä¾å¦./configure --prefix=/usr/local/mysqlï¼è¡¨ç¤ºè®¾ç½®è½¯ä»¶çå®è£ ç®å½ä¸º:/usr/local/mysqlï¼ããå¨è¿è¡#./configure [options]é 置软件åï¼å®ä¼æ ¹æ®ä½ å½åç³»ç»ãç¼è¯ãå®è£ ç¸å ³çä¿¡æ¯ï¼çæä¸ä¸ªå®è£ é ç½®æ件MakefileãMakefileæ件é常æ¯ç¨æ¥ç¼è¯åå®è£ 软件çï¼è¿è¡makeå½ä»¤æ¶ç³»ç»ä¼èªå¨æ ¹æ®Makefileæ件ä¸ç设置对软件è¿è¡ç¼è¯åå®è£ ï¼å¦æç¼è¯è½å¤é¡ºå©éè¿çè¯ï¼è¿è¡#make installå½ä»¤æ¥å®è£ ãããäºãæºè½å å®è£ ããRPMæ¯RedHat Package Managerç缩åï¼å®åªè½ä½¿ç¨å¨å®è£ äºRPM软件çç³»ç»ä¸ï¼ä¸è¿å¥½åç®å大å¤æ°ä¸æLinuxåè¡çæ¬é½æ¯æRPM软件å ããã1.ç¨å½ä»¤ç®¡çãã#rpm [options] abc.rpmããä¾å¦å®è£ python-1.5.2-.i.rpm软件æ¶ï¼å¯ä»¥ä½¿ç¨å¦ä¸å½ä»¤ï¼#rpm –ivh python-1.5.2-.i.rpmãããå¦æä½ æ³ç¥éRPM软件å ä¸çç¸å ³ä¿¡æ¯ï¼å¯ä»¥ä½¿ç¨å½ä»¤:#rpm ivh python-1.5.2-.i.rpmãããRPMçåæ°å¾å¤ï¼æ们就ä¸ä¸ä¸å举ï¼æ³å¾å°æ´å¤æå ³RPMçåæ°ï¼å¯ä»¥ç¨å½ä»¤ï¼#man rpmåå¾è¯¦ç»ç帮å©ä¿¡æ¯ããããã2.å¾å½¢çé¢å·¥å ·ç®¡çããç¸å¯¹å½ä»¤æ¹å¼æ¥è¯´ï¼å¨å¾å½¢ç¯å¢ä¸ï¼å®è£ ãå级ãå¸è½½åæ¥è¯¢RPM软件å æ¯ä¸ä»¶é常ç®åè½»æ¾çäºæ ï¼å 为Linuxæä¾äºå 个åè½å¼ºå¤§çRPMå 管çå·¥å ·ãæ们æ¨è使ç¨Linuxçå¾å½¢ç®¡çå·¥å ·æ¥ç»´æ¤RPM软件å ï¼GNOMEä¸çGnoRPMåKDEä¸çKpackageå°±æ¯åè½å¼ºå¤§çRPM å 管çå·¥å ·ãç±äºå½å ç¨æ·ä½¿ç¨çä¸æLinuxåè¡çæ¬ä¸æ常è§ççªå£ç®¡çå¨æ¯KDEï¼ä¸é¢ç¬è 就以KDEä¸Kpackage为ä¾ï¼ä»ç»å¦ä½ä½¿ç¨RPMå 管çå·¥å ·ãããç¹å»Startï¼å¼å§ï¼→System toolsï¼ç³»ç»å·¥å ·ï¼→Kpackageï¼åºç°Kpackageçé¢ï¼åæ¶åæLinuxç³»ç»ä¸ç RPMæ°æ®åºãå®å°å®è£ 好çRPMå å½¢å¼ç软件æç §åè½åå¨AmusementsãApplicationãDevelopmentãDocumentã ExtensionãExtentionsãNetworkingãSystem EnvironmentãUser Interface以åXçå 个æ å½¢ç®å½ä¸ï¼æ¯ä¸ªç®å½ä¸æç¸åºçæ件å¾æ åå称ãè¦å®è£ æå级软件ï¼åªè¦ç¹å»å·¥å ·æ çç¸åºæé®å°±ä¼å¼¹åºæå¼æ件ç对è¯æ¡ï¼éä¸è¦å®è£ çRPMæ件ï¼åå»OKæé®ï¼å¦æä¸ç¼ºå¿ è¦çè¿è¡åºï¼å°±å¼å§å®è£ 软件äºã
SUSE Linux Enterprise Server SP3安装教程详解
下载SUSELinux Enterprise Server,码安下载地址:最新的装教suse有2个安装盘,第一个为主要安装盘,码安一般下载这个即可第二个里面包含了一些常用软件,装教可选下载,码安下载需要注册;
下载之后开始安装
1,装教idea 如何导入源码选择从光盘启动,码安在弹出的装教界面,选择Installation选项开始安装:
2,码安选择安装语言及键盘布局(这里服务器大多使用英文语言较多,装教中文可能会有一些兼容问题,码安个人用户可以选择中文,装教这个也可以在安装系统之后自行设定,码安影响不大)
3.是装教否需要检查光盘,如不需要直接next即可:
第四步不用选择,码安直接下一步。 我们进行的是全新安装
第五步选择时区为亚洲上海,不使用UTC:
第六步 选择默认的(物理机安装)
第七步进入到安装配置选项了..我们先选择Partitioning,之后开始分区
分区的git导入源码话,一般都会分一个swap,作为交换分区(大多为物理内存的1~1.5倍,不要太多,多的话会使系统变慢,一般设置1G~2G足够,尤其是有几十G上百G内存的情况,这个更不要设置太大)。然后是一个boot分区,这个一般是scalp指标源码作为系统的引导文件,~M足以;还有一个是根分区,系统的其他文件和软件之类都会放到这里,当然,还可以设置var,tmp,home等分区,具体可参见linux分区说明。这里我的硬盘有G,我的tb源码 样板分区为/bootMB,/swap1.5G,剩下全为/根分区
第八步选择SoftWare钩上c/c++的软件安装(个人建议,一些编译需要,当然也可以在后面安装),之后选择选项卡里的booting,把floppy删掉。然后确定,下一步。。源码下载推荐安装。。
之后是设置root(超级管理员)密码。。然后下一步下一步。。检测网卡等功能,,,下载一个小文件测试网络连接是否成功,跳过自动更新。。。
创建一个普通用户。。输上用户名和密码下一步。。
下面系统会自动检测显卡。。。等着他自动重启好了。。。后面一路都是下一步。。就安装成功了!!
之后会重启,进入系统
这里有几点额外补充:
1.如果之前的安装时候没有勾选安装c++组件的话,系统中安装软件有时候会提示找不到gcc,这里可以手动安装,安装软件已经继承在安装盘中了,方法如下:
安装GCC(DVD1)也可以直接在软件管理中安装
zypper in gcc
2.有时候有的软件编译需要linux的内核源文件,这个默认是不安装的,可以选择手动安装,安装方法安装内核源文件(DVD1)
zypperin linux-kernel-headers
zypperinkernel-source
å¦ä½å¨å·²å®è£ çsuselinux.2ä¸ å®è£ g++
EMAIL:mangohappy@qq.com
ä½ ç¡®å®éé¢æ²¡æå®è£ G++å
ç¨å½ä»¤æ¥çæ¯å¦å·²ç»å®è£ äº
rpm -qa|grep gcc
æ人ç»äºrpmçï¼æç»ä¸ªdebç,å¨è¿æ¥ç½ç»çæ åµä¸,ç¨root
apt-get install build-essential
æ
g++ *.cpp -o runfile //ç¼è¯C++ç¨åº
gcc *.c -o runfile //ç¼è¯Cç¨åº
cygwinæ¬æ¥å°±èªä»£äºgccç¼è¯å¨.
å½ä»¤è¡æ¨¡å¼è¿è¡ gcc 1.cç¼è¯æåå./a.outæ§è¡.
å®è£ g++ åæ¾ä¸å°g++å½ä»¤
ä½ å¯è½åå° /usr/bin/g++4.1 æè 类似çæ件 cd /usr/bin/ sudo ln -s g++4.1 g++ è¿æ ·å°±å¯ä»¥æ¾å°g++å½ä»¤äºã
ä½ ç¨LINUXåãå®è£ åç´æ¥å¯ä»¥å¨å½ä»¤è¡ä½¿ç¨ã
gccç®ä»
Linuxç³»ç»ä¸çgccï¼GNU C Compilerï¼æ¯GNUæ¨åºçåè½å¼ºå¤§ãæ§è½ä¼è¶çå¤å¹³å°ç¼è¯å¨ï¼æ¯GNUç代表ä½åä¹ä¸ãgccæ¯å¯ä»¥å¨å¤ç§ç¡¬ä½å¹³å°ä¸ç¼è¯åºå¯æ§è¡ç¨åºçè¶ çº§ç¼è¯å¨ï¼å ¶æ§è¡æçä¸ä¸è¬çç¼è¯å¨ç¸æ¯å¹³åæçè¦é«%~%ã
gccç¼è¯å¨è½å°CãC++è¯è¨æºç¨åºãæ±ç¨å¼ååºåç®æ ç¨åºç¼è¯ãè¿æ¥æå¯æ§è¡æ件ï¼å¦æ没æç»åºå¯æ§è¡æ件çååï¼gccå°çæä¸ä¸ªå为a.outçæ件ãå¨Linuxç³»ç»ä¸ï¼å¯æ§è¡æ件没æç»ä¸çåç¼ï¼ç³»ç»ä»æ件çå±æ§æ¥åºåå¯æ§è¡æ件åä¸å¯æ§è¡æ件ãègccåéè¿åç¼æ¥åºå«è¾å ¥æ件çç±»å«ï¼ä¸é¢æ们æ¥ä»ç»gccæéµå¾ªçé¨å约å®è§åã
.c为åç¼çæ件ï¼Cè¯è¨æºä»£ç æ件ï¼
.a为åç¼çæ件ï¼æ¯ç±ç®æ æ件ææçæ¡£æ¡åºæ件ï¼
.Cï¼.ccæ.cxx 为åç¼çæ件ï¼æ¯C++æºä»£ç æ件ï¼
.h为åç¼çæ件ï¼æ¯ç¨åºæå å«ç头æ件ï¼
.i 为åç¼çæ件ï¼æ¯å·²ç»é¢å¤çè¿çCæºä»£ç æ件ï¼
.ii为åç¼çæ件ï¼æ¯å·²ç»é¢å¤çè¿çC++æºä»£ç æ件ï¼
.m为åç¼çæ件ï¼æ¯Objective-Cæºä»£ç æ件ï¼
.o为åç¼çæ件ï¼æ¯ç¼è¯åçç®æ æ件ï¼
.s为åç¼çæ件ï¼æ¯æ±ç¼è¯è¨æºä»£ç æ件ï¼
.S为åç¼çæ件ï¼æ¯ç»è¿é¢ç¼è¯çæ±ç¼è¯è¨æºä»£ç æ件ã
gccçæ§è¡è¿ç¨
è½ç¶æ们称gccæ¯Cè¯è¨çç¼è¯å¨ï¼ä½ä½¿ç¨gccç±Cè¯è¨æºä»£ç æ件çæå¯æ§è¡æ件çè¿ç¨ä¸ä» ä» æ¯ç¼è¯çè¿ç¨ï¼èæ¯è¦ç»åå个ç¸äºå ³èçæ¥éª¤â¶é¢å¤ç(ä¹ç§°é¢ç¼è¯ï¼Preprocessing)ãç¼è¯(Compilation)ãæ±ç¼(Assembly)åè¿æ¥(Linking)ã
å½ä»¤gccé¦å è°ç¨cppè¿è¡é¢å¤çï¼å¨é¢å¤çè¿ç¨ä¸ï¼å¯¹æºä»£ç æ件ä¸çæ件å å«(include)ãé¢ç¼è¯è¯å¥(å¦å®å®ä¹defineç)è¿è¡åæãæ¥çè°ç¨cc1è¿è¡ç¼è¯ï¼è¿ä¸ªé¶æ®µæ ¹æ®è¾å ¥æ件çæ以.o为åç¼çç®æ æ件ãæ±ç¼è¿ç¨æ¯é对æ±ç¼è¯è¨çæ¥éª¤ï¼è°ç¨asè¿è¡å·¥ä½ï¼ä¸è¬æ¥è®²ï¼.S为åç¼çæ±ç¼è¯è¨æºä»£ç æ件åæ±ç¼ã.s为åç¼çæ±ç¼è¯è¨æ件ç»è¿é¢ç¼è¯åæ±ç¼ä¹åé½çæ以.o为åç¼çç®æ æ件ãå½ææçç®æ æ件é½çæä¹åï¼gccå°±è°ç¨ldæ¥å®ææåçå ³é®æ§å·¥ä½ï¼è¿ä¸ªé¶æ®µå°±æ¯è¿æ¥ãå¨è¿æ¥é¶æ®µï¼ææçç®æ æ件被å®æå¨å¯æ§è¡ç¨åºä¸çæ°å½çä½ç½®ï¼åæ¶ï¼è¯¥ç¨åºæè°ç¨å°çåºå½æ°ä¹ä»åèªæå¨çæ¡£æ¡åºä¸è¿å°åéçå°æ¹ã
gccçåºæ¬ç¨æ³åé项
å¨ä½¿ç¨gccç¼è¯å¨çæ¶åï¼æä»¬å¿ é¡»ç»åºä¸ç³»åå¿ è¦çè°ç¨åæ°åæ件å称ãgccç¼è¯å¨çè°ç¨åæ°å¤§çº¦æå¤ä¸ªï¼å ¶ä¸å¤æ°åæ°æ们å¯è½æ ¹æ¬å°±ç¨ä¸å°ï¼è¿éåªä»ç»å ¶ä¸æåºæ¬ãæ常ç¨çåæ°ã
gccæåºæ¬çç¨æ³æ¯â¶gcc [options] [filenames]
å ¶ä¸optionså°±æ¯ç¼è¯å¨æéè¦çåæ°ï¼filenamesç»åºç¸å ³çæ件å称ã
-cï¼åªç¼è¯ï¼ä¸è¿æ¥æ为å¯æ§è¡æ件ï¼ç¼è¯å¨åªæ¯ç±è¾å ¥ç.cçæºä»£ç æ件çæ.o为åç¼çç®æ æ件ï¼é常ç¨äºç¼è¯ä¸å å«ä¸»ç¨åºçåç¨åºæ件ã
-o output_filenameï¼ç¡®å®è¾åºæ件çå称为output_filenameï¼åæ¶è¿ä¸ªå称ä¸è½åæºæ件ååãå¦æä¸ç»åºè¿ä¸ªé项ï¼gccå°±ç»åºé¢è®¾çå¯æ§è¡æ件a.outã
-gï¼äº§ç符å·è°è¯å·¥å ·(GNUçgdb)æå¿ è¦ç符å·èµè®¯ï¼è¦æ³å¯¹æºä»£ç è¿è¡è°è¯ï¼æä»¬å°±å¿ é¡»å å ¥è¿ä¸ªé项ã
-Oï¼å¯¹ç¨åºè¿è¡ä¼åç¼è¯ãè¿æ¥ï¼éç¨è¿ä¸ªé项ï¼æ´ä¸ªæºä»£ç ä¼å¨ç¼è¯ãè¿æ¥è¿ç¨ä¸è¿è¡ä¼åå¤çï¼è¿æ ·äº§ççå¯æ§è¡æ件çæ§è¡æçå¯ä»¥æé«ï¼ä½æ¯ï¼ç¼è¯ãè¿æ¥çé度就ç¸åºå°è¦æ ¢ä¸äºã
-O2ï¼æ¯-Oæ´å¥½çä¼åç¼è¯ãè¿æ¥ï¼å½ç¶æ´ä¸ªç¼è¯ãè¿æ¥è¿ç¨ä¼æ´æ ¢ã
-Idirnameï¼å°dirnameææåºçç®å½å å ¥å°ç¨åºå¤´æ件ç®å½å表ä¸ï¼æ¯å¨é¢ç¼è¯è¿ç¨ä¸ä½¿ç¨çåæ°ãCç¨åºä¸ç头æ件å å«ä¸¤ç§æ åµâ¶
A)#include
B)#include âmyinc.hâ
å ¶ä¸ï¼A类使ç¨å°æ¬å·(< >)ï¼B类使ç¨åå¼å·(â â)ã对äºAç±»ï¼é¢å¤çç¨åºcppå¨ç³»ç»é¢è®¾å å«æ件ç®å½(å¦/usr/include)ä¸æ寻ç¸åºçæ件ï¼è对äºBç±»ï¼cppå¨å½åç®å½ä¸æ寻头æ件ï¼è¿ä¸ªé项çä½ç¨æ¯åè¯cppï¼å¦æå¨å½åç®å½ä¸æ²¡ææ¾å°éè¦çæ件ï¼å°±å°æå®çdirnameç®å½ä¸å»å¯»æ¾ãå¨ç¨åºè®¾è®¡ä¸ï¼å¦ææ们éè¦çè¿ç§å å«æ件åå«åå¸å¨ä¸åçç®å½ä¸ï¼å°±éè¦é个使ç¨-Ié项ç»åºæ索路å¾ã
-Ldirnameï¼å°dirnameææåºçç®å½å å ¥å°ç¨åºå½æ°æ¡£æ¡åºæ件çç®å½å表ä¸ï¼æ¯å¨è¿æ¥è¿ç¨ä¸ä½¿ç¨çåæ°ãå¨é¢è®¾ç¶æä¸ï¼è¿æ¥ç¨åºldå¨ç³»ç»çé¢è®¾è·¯å¾ä¸(å¦/usr/lib)寻æ¾æéè¦çæ¡£æ¡åºæ件ï¼è¿ä¸ªé项åè¯è¿æ¥ç¨åºï¼é¦å å°-Læå®çç®å½ä¸å»å¯»æ¾ï¼ç¶åå°ç³»ç»é¢è®¾è·¯å¾ä¸å¯»æ¾ï¼å¦æå½æ°åºåæ¾å¨å¤ä¸ªç®å½ä¸ï¼å°±éè¦ä¾æ¬¡ä½¿ç¨è¿ä¸ªé项ï¼ç»åºç¸åºçåæ¾ç®å½ã
-lnameï¼å¨è¿æ¥æ¶ï¼è£ è½½åå为âlibname.aâçå½æ°åºï¼è¯¥å½æ°åºä½äºç³»ç»é¢è®¾çç®å½æè ç±-Lé项确å®çç®å½ä¸ãä¾å¦ï¼-lm表示è¿æ¥å为âlibm.aâçæ°å¦å½æ°åºã
ä¸é¢æ们ç®è¦ä»ç»äºgccç¼è¯å¨æ常ç¨çåè½å主è¦åæ°é项ï¼æ´ä¸ºè¯¦å°½çèµæå¯ä»¥åçLinuxç³»ç»çèæºå¸®å©ã
åå®æ们æä¸ä¸ªç¨åºå为test.cçCè¯è¨æºä»£ç æ件ï¼è¦çæä¸ä¸ªå¯æ§è¡æ件ï¼æç®åçåæ³å°±æ¯â¶
gcc test.c
è¿æ¶ï¼é¢ç¼è¯ãç¼è¯è¿æ¥ä¸æ¬¡å®æï¼çæä¸ä¸ªç³»ç»é¢è®¾çå为a.outçå¯æ§è¡æ件ï¼å¯¹äºç¨ä¸ºå¤æçæ åµï¼æ¯å¦æå¤ä¸ªæºä»£ç æ件ãéè¦è¿æ¥æ¡£æ¡åºæè æå ¶ä»æ¯è¾ç¹å«çè¦æ±ï¼å°±è¦ç»å®éå½çè°ç¨é项åæ°ãåçä¸ä¸ªç®åçä¾åã
æ´ä¸ªæºä»£ç ç¨åºç±ä¸¤ä¸ªæ件testmain.c åtestsub.cç»æï¼ç¨åºä¸ä½¿ç¨äºç³»ç»æä¾çæ°å¦åºï¼åæ¶å¸æç»åºçå¯æ§è¡æ件为testï¼è¿æ¶çç¼è¯å½ä»¤å¯ä»¥æ¯â¶
gcc testmain.c testsub.c â¡lm â¡o test
å ¶ä¸ï¼-lm表示è¿æ¥ç³»ç»çæ°å¦åºlibm.aï¼è¿ä¸ªè¿ç¨å¯ä»¥ç¨å¾-1æ¡å¾æè¿°ã
gccçé误类åå对ç
gccç¼è¯å¨å¦æåç°æºç¨åºä¸æé误ï¼å°±æ æ³ç»§ç»è¿è¡ï¼ä¹æ æ³çææç»çå¯æ§è¡æ件ã为äºä¾¿äºä¿®æ¹ï¼gccç»åºé误èµè®¯ï¼æä»¬å¿ é¡»å¯¹è¿äºé误èµè®¯é个è¿è¡åæãå¤çï¼å¹¶ä¿®æ¹ç¸åºçè¯è¨ï¼æè½ä¿è¯æºä»£ç çæ£ç¡®ç¼è¯è¿æ¥ãgccç»åºçé误èµè®¯ä¸è¬å¯ä»¥å为å大类ï¼ä¸é¢æ们åå«è®¨è®ºå ¶äº§ççåå å对çã
第ä¸ç±»â¶Cè¯æ³é误
é误èµè®¯â¶æ件source.cä¸ç¬¬nè¡æè¯æ³é误(syntex errror)ãè¿ç§ç±»åçé误ï¼ä¸è¬é½æ¯Cè¯è¨çè¯æ³é误ï¼åºè¯¥ä»ç»æ£æ¥æºä»£ç æ件ä¸ç¬¬nè¡å该è¡ä¹åçç¨åºï¼ææ¶ä¹éè¦å¯¹è¯¥æ件æå å«ç头æ件è¿è¡æ£æ¥ãæäºæ åµä¸ï¼ä¸ä¸ªå¾ç®åçè¯æ³é误ï¼gccä¼ç»åºä¸å¤§å é误ï¼æ们æ主è¦çæ¯è¦ä¿ææ¸ éç头èï¼ä¸è¦è¢«å ¶ååï¼å¿ è¦çæ¶åååèä¸ä¸Cè¯è¨çåºæ¬ææã
第äºç±»â¶å¤´æ件é误
é误èµè®¯â¶æ¾ä¸å°å¤´æ件head.h(Can not find include file head.h)ãè¿ç±»é误æ¯æºä»£ç æ件ä¸çå å«å¤´æ件æé®é¢ï¼å¯è½çåå æ头æ件åé误ãæå®ç头æ件æå¨ç®å½åé误çï¼ä¹å¯è½æ¯é误å°ä½¿ç¨äºåå¼å·åå°æ¬å·ã
第ä¸ç±»â¶æ¡£æ¡åºé误
é误èµè®¯â¶è¿æ¥ç¨åºæ¾ä¸å°æéçå½æ°åºï¼ä¾å¦â¶
ld: -lm: No such file or directory
è¿ç±»é误æ¯ä¸ç®æ æ件ç¸è¿æ¥çå½æ°åºæé误ï¼å¯è½çåå æ¯å½æ°åºåé误ãæå®çå½æ°åºæå¨ç®å½å称é误çï¼æ£æ¥çæ¹æ³æ¯ä½¿ç¨findå½ä»¤å¨å¯è½çç®å½ä¸å¯»æ¾ç¸åºçå½æ°åºåï¼ç¡®å®æ¡£æ¡åºåç®å½çå称并修æ¹ç¨åºä¸åç¼è¯é项ä¸çå称ã
第åç±»â¶æªå®ä¹ç¬¦å·
é误èµè®¯â¶ææªå®ä¹ç符å·(Undefined symbol)ãè¿ç±»é误æ¯å¨è¿æ¥è¿ç¨ä¸åºç°çï¼å¯è½æ两ç§åå â¶ä¸æ¯ä½¿ç¨è èªå·±å®ä¹çå½æ°æè å ¨å±åéæå¨æºä»£ç æ件ï¼æ²¡æ被ç¼è¯ãè¿æ¥ï¼æè å¹²èè¿æ²¡æå®ä¹ï¼è¿éè¦ä½¿ç¨è æ ¹æ®å®é æ åµä¿®æ¹æºç¨åºï¼ç»åºå ¨å±åéæè å½æ°çå®ä¹ä½ï¼äºæ¯æªå®ä¹ç符å·æ¯ä¸ä¸ªæ åçåºå½æ°ï¼å¨æºç¨åºä¸ä½¿ç¨äºè¯¥åºå½æ°ï¼èè¿æ¥è¿ç¨ä¸è¿æ²¡æç»å®ç¸åºçå½æ°åºçå称ï¼æè æ¯è¯¥æ¡£æ¡åºçç®å½å称æé®é¢ï¼è¿æ¶éè¦ä½¿ç¨æ¡£æ¡åºç»´æ¤å½ä»¤aræ£æ¥æ们éè¦çåºå½æ°å°åºä½äºåªä¸ä¸ªå½æ°åºä¸ï¼ç¡®å®ä¹åï¼ä¿®æ¹gccè¿æ¥é项ä¸ç-lå-L项ã
æé¤ç¼è¯ãè¿æ¥è¿ç¨ä¸çé误ï¼åºè¯¥è¯´è¿åªæ¯ç¨åºè®¾è®¡ä¸æç®åãæåºæ¬çä¸ä¸ªæ¥éª¤ï¼å¯ä»¥è¯´åªæ¯å¼äºä¸ªå¤´ãè¿ä¸ªè¿ç¨ä¸çé误ï¼åªæ¯æ们å¨ä½¿ç¨Cè¯è¨æè¿°ä¸ä¸ªç®æ³ä¸æ产ççé误ï¼æ¯æ¯è¾å®¹ææé¤çãæ们åä¸ä¸ªç¨åºï¼å°ç¼è¯ãè¿æ¥éè¿ä¸ºæ¢ï¼åºè¯¥è¯´ååå¼å§ï¼ç¨åºå¨è¿è¡è¿ç¨ä¸æåºç°çé®é¢ï¼æ¯ç®æ³è®¾è®¡æé®é¢ï¼è¯´å¾æ´çç¹æ¯å¯¹é®é¢ç认è¯åç解ä¸å¤ï¼è¿éè¦æ´å æ·±å ¥å°æµè¯ãè°è¯åä¿®æ¹ãä¸ä¸ªç¨åºï¼ç¨ä¸ºå¤æçç¨åºï¼å¾å¾è¦ç»è¿å¤æ¬¡çç¼è¯ãè¿æ¥åæµè¯ãä¿®æ¹ãä¸é¢æ们å¦ä¹ çç¨åºç»´æ¤ãè°è¯å·¥å ·åçæ¬ç»´æ¤å°±æ¯å¨ç¨åºè°è¯ãæµè¯è¿ç¨ä¸ä½¿ç¨çï¼ç¨æ¥è§£å³è°æµé¶æ®µæåºç°çé®é¢ã
å¸æå¯¹ä½ æ帮å©ã
å¦ä½å¨linux suseä¸å®è£ Oracle gå®è£ åå¤
1.Linuxç¯å¢é ç½®åå¤ç¯å¢ï¼Linuxï¼Redhat Enterprise 5.4ï¼DBï¼Oracle g R2 Xï¼Oracleå®è£ å°/home/oralce_ç®å½ä¸ã
é ç½®è¿ç¨å¦ä¸ï¼ï¼å¤§é¨åæ¯ç½ä¸çå 容ï¼ä¸ªäººä¹æ¯æç §ç½ä¸æ¥éª¤æ¥çï¼
1) æ£æ¥åºæ¬éæ±ï¼å¯¹äºçé¼çæå¡å¨æ¥è¯´ï¼è¿ä¸ªè¯å®æ¯æ»¡è¶³è¦æ±çï¼å¯ä»¥è·³è¿ï¼
å å大å°
grep MemTotal /proc/meminfo
交æ¢ååºå¤§å°
grep SwapTotal /proc/meminfo
å¢å 交æ¢ååº
å建/home/swapè¿ä¹ä¸ä¸ªååºæ件ãæ件ç大å°æ¯ä¸ªblockï¼ä¸è¬æ åµä¸1个block为1Kï¼æ以è¿é空é´æ¯5Gã
dd if=/dev/zero of=/home/swap bs= count=
æ¥çåæè¿ä¸ªååºåæswapååºã
mkswap /home/swap
ç¶åæå®å å°fstabéé¢
echo "/home/swap swap swap defaults 0 0" >> /etc/fstab
2) æ£æ¥è½¯ä»¶éæ±ï¼æ²¡æçyum installå®è£
rpm -q binutils compat-libstdc++- elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh
ï¼è¿éå¦æåºç°æ²¡æå®è£ çï¼é£ä¹å°±è¦æLinuxå çæ¾å ¥ï¼è¿å ¥Serveræ件夹ï¼æ¾å°å¯¹åºçRPMå ï¼è¿è¡RPMå½ä»¤æ¥è¿è¡å®è£ ï¼å¦æå欢å¾å½¢çé¢çè¯ï¼å¨å¾åçé¢ä¹å¯ä»¥éè¿åå»å¯¹åºçRPMå æ¥å®è£ ãéè¦æ³¨æçæ¯å¨å®è£ libaio-devel unixODBC unixODBC-devel è¿3个软件å çæ¶åï¼é¤äºå®è£ Xçå 以为ï¼è¿è¦å®è£ içå ï¼ä¸è½å 为æ¯Xçç³»ç»ï¼å°±ä¸è£ içå äºã ï¼