Welcome 微信登录

首页 / 操作系统 / Linux

Linux 函数局部变量的堆栈使用

Linux 函数局部变量的堆栈使用

从这个例子的输出,可以看到从高地址开始分配,所以a1的地址是比a2大;这里要注意的时,单从一个数组来分析的话,比如aa,那么地址是从低位开始的,也就是如果我们对aa的操作越界了的话,那么可能会把a1和a2的值给覆盖掉,是从低往高处踩内存的。void print(int b1,int b2){ int a1=0,a2=1; printf("a1 addr:0x%08x ",&a1); printf("a2 addr:0x%08x ",&a...
自由软件Makefile自动生成方法

自由软件Makefile自动生成方法

作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序一样,只要使用“./configure”,“make”,“make ins...
进一步完善shellcode的提取

进一步完善shellcode的提取

基本shellcode提取方法:http://www.linuxidc.com/Linux/2011-10/44764.htm接下来,我们将在上文的基础上,进一步完善shellcode的提取。前面关于main和execve的分析,同“基本shellcode提取方法”中相应部分的讲解。如果execve()调用失败的话,程序将会继续从堆栈中获取指令并执行,而此时堆栈中的数据时随机的,通常这个程序会core dump。如果我们希望在execve()调用失败时,程...
关于Android中的BaseAdapter

关于Android中的BaseAdapter

写个小程序时候用到了BaseAdapter,继承它后用来适配GridView。(应该也可以适配其它的View)继承后没修改时候,有几个override的方法。1。getCount(),返回值为int类型的。这个函数的主要作用是为GridView提供显示网格内容数量。如果做的是一个照片浏览的话,这个返回值就是在屏幕上显示照片的数量。2。getItem(int position),返回值为Object类型,默认返回null。这个函数的主要作用尚未弄清楚。其是从...
Android下常见的内存泄露

Android下常见的内存泄露

因为Android使用Java作为开发语言,很多人在使用会不注意内存的问题。于是有时遇到程序运行时不断消耗内存,最终导致OutOfMemery,程序异常退出,这就是内存泄露导致的。 我们现在就来总结一下可能导致内存泄露的情况:查询数据库而没有关闭Cursor在Android中,Cursor是很常用的一个对象,但在写代码是,经常会有人忘记调用close, 或者因为代码逻辑问题状况导致close未被调用。 通常,在Activity中,我们可以调用startMa...
Android Jamendo开源在线音乐播放器源码分析

Android Jamendo开源在线音乐播放器源码分析

这是一个开源的在线音乐播放器,大家可以下载最新的源代码。学习这个主要是学习一下软件的架构和网络方面的编程,虽然接触Android一年多了,但是对于这两块地方还是不太熟悉,所以借这个项目来人真学习一下。下面是下载的地址:https://github.com/telecapoland/jamendo-android代码的包结构如下:想用MyEclipse生产一个完整的uml图,但是代码太多,所以就分别按照包来生成一下...
Android使用自定义AlertDialog(退出提示框)

Android使用自定义AlertDialog(退出提示框)

有时候我们需要在游戏或应用中用一些符合我们样式的提示框(AlertDialog)以下是我在开发一个小游戏中总结出来的.希望对大家有用.先上效果图:下面是用到的背景图或按钮的图片经过查找资料和参考了一下例子后才知道,要实现这种效果很简单.就是在设置alertDialog的contentView.以下的代码是写在Activity下的,代码如下:public boolean onKeyDown(int keyCode, KeyEvent event) {// 如...
Android双击事件(模拟ListView双击事件)

Android双击事件(模拟ListView双击事件)

双击事件在Windows中经常使用,大家都已经用得非常习惯了.但是在Android中默认是没有双击事件的(这个我觉得很奇怪).在我的足球即时比分应用中就用到了双击事件,我上网查过也在一些QQ群中问过一些Android开发人员,他们说这个只能自己来处理了,Android是没有提供双击事件的.以下是我足球即时比分中的代码:public class SenseSoccerScoreActivity extends Activity{// 双击事件记录最近一次点击...
Android访问Tomcat错误以及mp3player项目乱码问题解决

Android访问Tomcat错误以及mp3player项目乱码问题解决

终于把MP3player项目完成了,虽然很简单但是还有点成就感中间遇到一些简单的问题想必初学者会遇到1.用Android访问自己电脑Tomcat服务器出现connection refused127.0.0.1 是 Android 模拟器设务自己的回送接口(既localhost)。所以不能使用电脑连接android模拟器。 访问自己电脑上配置的tomcat服务器时有两种方法:(1):使用自己电脑的ip地址(2):可以用android内置IP 10.0.2.2...
Android的第一个程序解释

Android的第一个程序解释

1. 在Eclipse中,创建Android工程一般情况下,我们都是选择1.6版本,因为Android中的每个新版,都是向上兼容的。2. 创建项目成功之后,我们可以在项目中见到如下的信息:解释:a. 每个工程下面,都至少有一个Activity类,与之相对应的就是有一个main,xml,用于控制其内容布局, main.xml同样都会在R.java中生成相应的ID;b. string.xml里面存储的就是我们将要用到的字符串,它在string.xml里面,采用...
Android开发环境搭建过程图文详解(JDK+Eclipse+Android SDK)

Android开发环境搭建过程图文详解(JDK+Eclipse+Android SDK)

图文详解演示Android开发环境的搭建过程(JDK+Eclipse+Android SDK),无需配置环境变量。请大家在搭建时下载最新版本。一 相关下载(1) java JDK下载:进入该网页: http://java.sun.com/javase/downloads/index.jsp (或者直接点击下载)如下图:选择 Download JDK 只下载JDK,无需下载jre.(2)eclipse下载进入该网页: http://www.eclipse.o...
<< 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 >>