Why do I get error "cannot restore segment prot after reloc: Permission denied"?

本文详细介绍了在CentOS环境下安装Oracle JDK 7的方法,包括下载、安装及环境配置等步骤,并提供了安装MySQL的相关链接资源。

http://www.easysoft.com/support/kb/kb00976.html

 

Centos安装JDK

 

[root@localhost ~]# java -version
java version "1.6.0"
OpenJDK Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)


1.6的,这个必须换掉 。下载jdk-7u3-linux-x64.rpm

--2012-02-28 00:13:34--  http: //download.oracle.com/otn-pub/java/jdk/7u3-b04/jdk-7u3-linux-x64.rpm
正在解析主机 download.oracle.com... 63.97.94.56, 63.97.94.80
Connecting to download.oracle.com|63.97.94.56|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:67667318 (65M) [application/x-redhat-package-manager]
Saving to: `jdk-7u3-linux-x64.rpm'
  
65% [===============================================>                          ] 44,088,409  50.1K/s  eta 7m 23s

 速度不咋的,可以用迅雷之类的下了传上去。

运行安装

# rpm -ivh jdk-7u3-linux-x64.rpm 
Preparing...                ########################################### [100%]
    1:jdk                    ########################################### [100%]
Unpacking JAR files...
     rt.jar...
     jsse.jar...
     charsets.jar...
     tools.jar...
     localedata.jar...

 # vim /etc/profile

修改profile 最后面加入

export JAVA_HOME=/usr/java/jdk1.7.0_03
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

 

Centos安装MYSQL

http://momodog.iteye.com/blog/1284086

 

http://stackoverflow.com/questions/216202/why-does-an-ssh-remote-command-get-fewer-environment-variables-then-when-run-man

### 关于 L15 多重调用段警告的原因 在C51编译器环境下,当遇到 `L15 multiple call to segment` 警告时,通常是因为程序中有多个函数被重复放置到同一个代码段中[^2]。这种现象可能发生在中断服务例程(ISR)定义不当时,尤其是在定时器中断上下文中。 #### 中断服务例程的定义问题 如果定时器1中断处理函数未按照特定语法声明,则可能导致链接阶段出现问题。例如,在Keil C51环境中,所有中断服务例程都应通过关键字 `_interrupt` 和可选的关键字 `_using` 来正确定义[^3]。缺少这些修饰符可能会引发多重调用错误或其他链接问题。 ```c void Timer1_ISR (void) interrupt 3 using 1 { // 定时器1中断逻辑 } ``` 上述代码片段展示了如何正确配置定时器1中断服务例程。其中,“interrupt 3”表示该函数对应的是定时器1溢出中断向量地址;而“using 1”则指定了寄存器组编号为1,防止不同中断之间发生寄存器冲突[^4]。 #### 链接脚本中的设置不当 另一个潜在原因是链接脚本文件(.lnk)内的段分配规则不合理。假如两个或以上的功能模块都被安排至同一存储区域却缺乏足够的隔离措施,也会触发此类警告消息[L15][^5]。因此检查并调整项目工程里的`.lnk`文档是非常必要的步骤之一。 ### 解决方案建议 为了消除这个警告信息,可以从以下几个方面入手: - **确认所有的中断服务例程均采用标准形式书写**:即利用_interrupt以及_using参数来明确定义每一个ISR。 - **审查项目的.lnk文件内容**:确保各个独立的功能单元能够合理分布到不同的内存区间而不至于相互干扰或者覆盖彼此的数据/指令序列[^6]。 - 如果以上方法仍无法解决问题,可以尝试更新使用的工具链版本号或许能带来更好的兼容性和稳定性表现[^7]。 ```c #pragma save #pragma nooverlay void MyFunction() { // Function body without overlaying issues. } #pragma restore ``` 此部分展示了一个避免函数叠加的技术手段——通过预处理器命令控制某些特殊情况下可能出现的堆叠行为[^8]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值