#android权威编程指南

Android项目包命名规则是怎样的?

com.example.app.activity|Activity类com.example.app.widget|自定义的小UIcom.example.app.db|数据库相关操作com.example.app.domain/modle/bean/entity|实体com.example.app.engine|存放业务...

shell编程总结

  Shell是一个命令解释器。它不仅是操作系统内核与用户之间的绝缘层,同时也是一种功能相当强大的编程语言。一个Shell程序,通常称为脚本,它是一个由系统调用,命令工具,软件包和已编译的二进制包"粘合" 起来的极易使用的工具。事实上,整个UNIX系统命令,软件包和工具都能由一个shell脚本调用。如果这还不...
IT猿 ·2020-03-26

一篇文章一张思维导图看懂Android学习最佳路线

一篇文章一张思维导图看懂Android学习最佳路线先上一张android开发知识点学习路线图思维导图Android学习路线从4个阶段来对Android的学习过程做一个全面的分析:Android初级、中级、高级以及资深工程师。只针对Android应用开发,不针对Rom开发和逆向工程等。方便起见虚拟“小D&rd...

Unix编程之size_t、ssize_t

我非常肯定以及确定的告诉你ssize_t是有符号整型,在32位机器上等同与int,在64位机器上等同与longint,有没有注意到,它和long数据类型有啥区别?其实就是一样的。size_t就是无符号型的ssize_t,也就是unsignedlong/unsignedint(在32位下),不同的编译器或系统可能会有区别...

java android 环境变量配置备忘录

javaandroid环境变量配置备忘录,全新重装系统要用到,备忘下来;JAVA_HOMED:Javajdk1.6.0_07CLASSPATH .;%JAVA_HOME%libdt.jar;%JAVA_HOME%libools.jar;ANDROID_SDK E:androidandroid-sdk...

Linux高级编程--11.信号

基本概念信号在Linux中是一个比较常见的概念,例如我们按Ctrl+C中断前台进程,通过Kill命令结束进程都是通过信号实现的。下面就以Ctrl+C为例简单的说明信号的处理流程:用户按下Ctrl-C,这个键盘输入产生一个硬件中断。该进程的用户空间代码暂停执行,CPU从用户态切换到内核态处理硬件中断。终端驱动程序将Ctr...

Linux高级编程--10.Socket编程

Linux下的Socket编程大体上包括TcpSocket、UdpSocket即RawSocket这三种,其中TCP和UDP方式的Socket编程用于编写应用层的socket程序,是我们用得比较多的,而RawSocket则用得相对较少,不在本文介绍范围之列。TCPSocket基于TCP协议的客户端/服务器程序的一般流程...

Linux高级编程--09.线程互斥与同步

多个线程同时访问共享数据时可能会冲突,比如两个线程都要把某个全局变量增加1,这个操作在某平台需要三条指令完成:从内存读变量值到寄存器寄存器的值加1将寄存器的值写回内存假设两个线程在多处理器平台上同时执行这三条指令,则可能导致下图所示的结果,最后变量只加了一次而非两次。如下例子就演示了这一过程:#include<s...

Linux高级编程--08.线程概述

线程有的时候,我们需要在一个基础中同时运行多个控制流程。例如:一个图形界面的下载软件,在处理下载任务的同时,还必须响应界面的对任务的停止,删除等控制操作。这个时候就需要用到线程来实现并发操作。和信号处理函数的控制在处理完信号之后就结束不同的是,多线程的控制流程可以长期并存,操作系统会在各线程之间调度和切换,就像在多个进...

Linux高级编程--07.进程间通信

每个进程各自有不同的用户地址空间,进程之间要交换数据必须通过在内核中开辟缓冲区,从而实现数据共享。管道管道是一种最基本的IPC机制,由pipe函数创建:intpipe(intfiledes[2]);调用pipe函数时在内核中开辟一块缓冲区(称为管道)用于通信,它有一个读端一个写端,然后通过filedes参数传出给用户程...

Linux高级编程--06.进程概述

进程控制块在Linux中,每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,它通常包含如下信息:进程id。系统中每个进程有唯一的id,在C语言中用pid_t类型表示,其实就是一个非负整数。进程的状态,有运行、挂起、停止、僵尸等状态。进程切换时需要保存和恢复的一些CPU寄存器。描述虚拟地址空间的信息。描述...

Linux高级编程--05.文件读写

缓冲I/O和非缓冲I/O文件读写主要牵涉到了如下五个操作:打开、关闭、读、写、定位。在Linux系统中,提供了两套API,一套是C标准API:fopen、fclose、fread、fwrite、fseek,另一套则是POSIX定义的系统API:open、close、read、write、seek。其中POSIX定义的A...

Linux高级编程--04.GDB调试程序(查看数据)

查看栈信息当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。下面是一些查看函数调用栈信息的GDB命令:backtrace/bt:打印当前的函数调用栈的所有信息。如:(g...

Linux高级编程--04.GDB调试程序(设置断点)

调试已运行的程序在UNIX下用ps查看正在运行的程序的PID(进程ID),然后用gdbPID格式挂接正在运行的程序。先用gdb关联上源代码,并进行gdb,在gdb中用attach命令来挂接进程的PID。并用detach来取消挂接的进程。暂停/恢复程序运行调试程序中,暂停程序运行是必须的,GDB可以方便地暂停程序的运行。...

Linux高级编程--04.GDB调试程序(入门概述)

GDB概述GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面...
首页上一页...218219220221222...下一页尾页