Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

ARM汇编指令调试方法

ARM汇编指令调试方法

学习ARM汇编时,少不了对ARM汇编指令的调试。作为支持多语言的调试器,gdb自然是较好的选择。调试器工作时,一般通过修改代码段的内容构造trap软中断指令,实现程序的暂停和程序执行状态的监控。为了在x86平台上执行ARM指令,可以使用qemu模拟器执行ARM汇编指令。一、准备ARM汇编程序首先,我们构造一段简单的ARM汇编程序作为测试代码main.s。.globl _start_start:mov R0,#0swi0x00900001以上汇编指令完成了0...
Java字符串拼接技巧(StringBuilder使用技巧)

Java字符串拼接技巧(StringBuilder使用技巧)

在平时的开发中,我们可能会遇到需要拼接如下格式的字符串(至少我是遇到了很多次):1,2,3,4,5,6,7,8,9,10,11,12,12,12,12,34,234,2134,1234,1324,1234,123这个字符串的特点:多个数据之间通过某一个特殊符号分割。以前我都是这样想的,我相信很多的people也是这样想的:public class StringTest{ public static void main(String[] args) { ...
Linux网络编程--epoll 模型原理详解以及实例

Linux网络编程--epoll 模型原理详解以及实例

1.简介Linux I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。Linux 2.6内核中有提高网络I/O性能的新方法,即epoll 。 epoll是什么?按照man手册的说法是为处理大批量句柄而作了改进的poll。要使用epoll只需要以下的三个系统函数调用: epoll_create(2),epoll_ctl(2),epoll_wait(2)。2.select模型的缺陷(1) 在Linux内核中,select所用...
Linux网络编程--非阻塞编程

Linux网络编程--非阻塞编程

非阻塞方式程序设计介绍非阻塞方式的操作与阻塞方式的操作最大的不同点是函数的调用立刻返回,不管数据是否成功读取或者成功写入。使用fcntl()将套接字文件描述符按照如下的代码进行设置后,可以进行非阻塞的编程: fcntl(s, F_SETFL, O_NONBLOCK); 其中的s是套接字文件描述符,使用F_SETFL命令将套接字s设置为非阻塞方式后,再进行读写操作就可以马上返回了。非阻塞程序设计的例子函数accept()可以使用非阻塞的方式轮询等待客户端的到...
Linux网络编程--信号阻塞与屏蔽(block,unblock)

Linux网络编程--信号阻塞与屏蔽(block,unblock)

Linux下当向一个进程发出信号时,从信号产生到进程接收该信号并执行相应操作的过程称为信号的等待过程(呃,根据对APUE的理解翻译的)。如果某一个信号没有被进程屏蔽,则我们可以在程序中阻塞进程对该信号所相应的操作。例如一个程序当接收到SIGUSR1信号时会进行一个操作,我们可以利用系统API阻塞(block)程序对该信号的操作,直到我们解除阻止。再举个现实的例子:就好像一个同学让我帮他带饭,但是我现在有其他事要做,现在我先做我手头上的事,直到我把手上的事都...
Android 使用shape制作drawable素材

Android 使用shape制作drawable素材

Android开发中,资源文件中会有大量的图片素材文件,这样会额外增加APP的大小,有时面对对APP 大小有限制的,那就要考虑尽可能的对图片进行压缩处理或者减少资源文件中图片的数量,那么减少了资源素材文件,我们如何满足应用对图形的丰富要求呢?我们可以使用shape绘制的,有很多优点。从而满足我们的要求,下面是我整理的一些素材:首先看最终效果:1、主布局XML文件<LinearLayout xmlns:android="http://schemas.a...
JavaScript中实现不加new关键字的构造函数

JavaScript中实现不加new关键字的构造函数

一般而言,在JavaScript中创建对象时需要使用关键字new,但是某些时候,开发者希望无论new关键字有没有被显式使用,构造函数都可以被正常调用,即构造函数同时还具备简单工厂的职能。JavaScript的一个特性使得这样的实现变得可行:如果构造函数中返回了对象,无论有没有使用new关键字,最终返回的值都是函数return的值。基于这点特性,本文介绍了四种实现方式,抛砖引玉,欢迎拍砖~1. 在构造函数中返回对象字面量function Person(nam...
Java垃圾回收机制

Java垃圾回收机制

JVM框架Java虚拟机HotSpot的框架:JVM主要组成部分:Class Loader(类加载器)、Runtime Data Area(运行时数据区)、执行引擎(Execution Engine)。JVM垃圾回收简介Step1:MarkingGC算法在扫描存活对象时通常需要从Root节点开始,扫描所有存活对象的引用,构建出对象图。Root:静态字段、方法参数、局部变量、CPU寄存器Step2:NormalDeletion删除没有被引用的对象,释放空间。...
JavaScript的对象——灵活与危险

JavaScript的对象——灵活与危险

没有哪种数据结构比JavaScript的对象更简单灵活了。作为一个弱动态类型语言,JavaScript对对象的属性没有任何约束, 这带来的结果就是,在使用的时候很爽,想加啥属性直接加上去就行了,根本没有类或模板的限制, 想读啥属性直接“点”出来就行了,写出来那是相当简洁;然而这样的代码在运行的时候呢……JavaScript这种灵活性最大的一个问题也是没有约束。比如一个网店系统有两个部分,一部分产生订单对象...
PHP面试题之算法解析

PHP面试题之算法解析

面试中经常被问到会什么算法,这里整合一些常见的算法及它们的实现原理.下面的例子都是经过测试可用的,如果有什么问题请告知!!本人小白,如果有更好的实现方式,敬请赐教,感激不尽!!!!冒泡排序,快速排序,选择排序,二分法查找,快速查找/** * 冒泡排序* 相邻2数比较,小的在前,大的在后* 数组有几个元素,就要比较几轮 $i* 每轮需要比较的次数为,数组元素个数-已比较的次数 $j* @param array$array 要操作的数组* @returnarr...
PHP面试题之设计模式

PHP面试题之设计模式

设计模式是技术面试的时候难免会被问到的一个问题,特别会让你举例说明各种设计模式的使用场景。使用设计模式可以减轻我们的工作量,优化我们的代码。设计模式非常的多,这里介绍单例模式,工厂模式,组合模式,策略模式4种模式/** * 单例模式 **/class Config{static private $_instance = NULL;private $_settings = array();private function __construct(){}pri...
C++基础基础:C与C++的区别

C++基础基础:C与C++的区别

内容:(1)C++简介和编程的基本变化(2)命名空间的概念和使用(3)结构体、联合、枚举的不同(4)布尔类型 以及 运算符别名(5)函数的重载、缺省参数、哑元以 及内联1.简介和编程的基本变化1.1 C语言的简介1969年,使用汇编语言编写操作系统,汤普逊 发明了一门语言 B语言,丹尼斯-里奇 在B语言的基础上 New B语言,后来改名为C语言C语言 出生于 1972年1.2 C++语言的简介在C语言的基础上,本贾尼-斯特劳斯特卢普(Bjarne Stro...
为什么 Laravel 会成为最成功的 PHP 框架?

为什么 Laravel 会成为最成功的 PHP 框架?

Laravel是一个有着美好前景的年轻框架,它的社区充满着活力,相关的文档和教程完整而清晰,并为快速、安全地开发现代应用程序提供了必要的功能。在近几年对PHP框架流行度的统计中,Laravel始终遥遥领先。那么是什么让Laravel成为最成功的PHP框架?Laravel2011年,Taylor Otwell将Laravel作为一种包含全新现代方法的框架介绍给大家。Laravel最初的设计是为了面向MVC架构的,它可以满足如事件处理、用户身份验证等各种需求。...
Android中Parcelable接口的使用

Android中Parcelable接口的使用

在做Android开发的过程中,序列化是非常常见的。比如要将对象保存本地磁盘或者在网络上传输等。实现序列化有两种方式,一种是实现Serializable接口,第二种是实现Parcelable。Serializable与Parcelable的区别1、Serializable是JDK提供的接口,而Parcelable是Android SDK提供的。2、Serializable序列化是基于磁盘的,而Parcelable是基于内存的。在内存中读写肯定效率要高于磁盘...
Shell编程关于函数要注意的几点

Shell编程关于函数要注意的几点

今天上午一个朋友突然QQ问到,shell编程中的函数为什么return只能是整数,怎么样才能将函数的执行结果返回并保存至某个变量中。其实这个问题很好解决---只需要认真了解下shell函数即可。以下是根据聊天记录整理了关于函数的几个点:shell编程中关于函数需要知道的几点一、无论是在函数内,还是在函数外,$0的值都是该脚本本身。 [root@target ~]# cat test.sh #!/bin/bash echo $0 function...
<< 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 >>