a52527459:好久以前的文章了,我测试了下,我的a,b两个函数内的变量的地址差值为:8392688

要做点小修改,对地址强制变化,否则对变量地址加减 直接段错误的。

printf("hook-->&a:[%d]\n", *(((char *)&b)+8392688));

*(((char *)&b)+8392688)=30;

----------------------------

linux gcc 版本号

----------------------------

[root@xen ~]# uname -a

Linux xen.server、

3.9.3-1.el6xen.x86_64 #1 SMP Tue May 21 11:55:32 EST 2013 x86_64 x86_64 x86_64 GNU/Linux

[root@xen ~]# gcc&nbsp

结果是:

[root@xen1 ~]# gcc hpthread.c -lpthread;./a.out

&a:[8c3c5e9c]-1942200676-----a:[20]

&b:[8bbc4eac]-1950593364

hook-->&a:[20]

&a:[8c3c5e9c]-1942200676-----a:[30]

[root@xen1 ~]#

确实可以的。但是你的越界始终在自己的程序的空间内,如果到另一个程序的某个变量地址,应该就不行了吧。

Linux保护线程,linux的线程是否受到了保护?相关推荐

  1. linux c 线程的创建、线程等待、线程终止、线程分离

    1. 什么是线程   线程是进程执行内部的一个执行分支,在一个进程内部运行的多种执行流:内部本质上是多个线程在同一个地址空间运行:第一个pcb称之为主线程:有多个线程就有多个执行流:一个进程至少有一个 ...

  2. linux 线程--内核线程、用户线程实现方法

    Linux上进程分3种,内核线程(或者叫核心进程).用户进程.用户线程 内核线程拥有 进程描述符.PID.进程正文段.核心堆栈 当和用户进程拥有相同的static_prio 时,内核线程有机会得到更多 ...

  3. Linux C :线程操作和线程同步的多线程并发编程

    在这之前可以先看看这边文章了解线程概念,信号量,条件变量,死锁.管程等概念 https://blog.csdn.net/superSmart_Dong/article/details/11666837 ...

  4. Linux下c开发 之 线程通信

    Linux下c开发 之 线程通信 1.Linux"线程" 进程与线程之间是有区别的,不过Linux内核只提供了轻量进程的支持,未实现线程模型.Linux是一种"多进程单线 ...

  5. Linux下c开发 之 线程通信与pthread_cond_wait()的使用

    pthread_cond_wait() /************pthread_cond_wait()的使用方法**********/ pthread_mutex_lock(&qlock); ...

  6. Linux下c开发 之 线程通信(转)

    1.Linux"线程" 进程与线程之间是有区别的,不过Linux内核只提供了轻量进程的支持,未实现线程模型.Linux是一种"多进程单线程"的操作系统.Linu ...

  7. linux线程基础篇----线程同步与互斥

    linux线程基础----线程同步与互斥 一.同步的概念 1.同步概念  所谓同步,即同时起步,协调一致.不同的对象,对"同步"的理解方式略有不同.如,设备同步,是指在两个设备   ...

  8. Linux多线程——使用信号量同步线程

    http://blog.csdn.net/ljianhui/article/details/10813469/ 信号量.同步这些名词在进程间通信时就已经说过,在这里它们的意思是相同的,只不过是同步的对 ...

  9. 从 linux内核来看进程与线程的异同

     在<linux内核设计与实现>中第三章讲解了进程管理,在关于进程和线程的概念之间的区别还是由点模糊.书中说道:     进程就是处于执行期的程序.但进程并不仅仅局限于一段可执行程序代码. ...

  10. Linux多线程实践(9) --简单线程池的设计与实现

    线程池的技术背景 在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源.在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收.所以 ...

最新文章

  1. 服务器Jmail配置问题
  2. [转]Docker学习之四:使用docker安装mysql
  3. Select 多个表并且相关联转置
  4. 算法题:找出整数数组中两个只出现一次的数字
  5. 基于 WebRTC 实现自定义编码分辨率发送
  6. jquery 入门与知识
  7. 读C#开发实战1200例子记录-2017年8月14日10:03:55
  8. python database ioerror_python – IOError:[Errno 2]没有这样的文件或...
  9. 自编码器(Auto-encoder) (上) – 基本概念
  10. JAVA-5NIO之Selector
  11. cydia源_Cydia错误提示解决大全
  12. linux free命令详解(一)
  13. L101 L201 ME35 ME350 SX235W EP-801A ME535 清零软件
  14. 检查python模块_Python输入模块–有效使用类型检查器
  15. 返回结果乱码_峰哥说技术系列-7 Spring Boot返回JSON
  16. 正则方程推导(转载)
  17. c语言中可以使用setw函数吗,string和stringstream+setw()用法总结
  18. 多项式秦九韶算法c语言
  19. 货效,坪效,人效,这三效怎么理解?
  20. java 获取 yyyymmdd_从JS日期对象获取YYYYMMDD格式的字符串?

热门文章

  1. MySQL数据库分布式事务XA实现原理分析
  2. Libsvm Java
  3. Specify 的含义 ------ 转载
  4. 【Codeforces 851D Arpa and a list of numbers】
  5. Aspose.Pdf for .NET控件PDF文档到Excel、EPS、SVG等的转换
  6. 奇偶排序(OddEven Sort)----(排序算法十一)
  7. webservice发布及远程调用
  8. zookeeper在hadoop的应用
  9. JVM与计算机之间的关系
  10. Notadd —— 基于 nest.js 的微服务开发框架