1.getopt 1.1 函数定义 int getopt(int argc, char * const argv[], const char *optstring);#include <unistd.h> 该函数用来解析命令行参数.前两个参数设为main函数的两个参数.optstring设为由该命令要处理的各个选项组成的字符串.选项后面带有冒号':'时,该选项是一个带参数的选项. 例如:make -f filename -n-f是一个带参数的选项,-n是一个没有参数的选项. 可以下面这样调用函…
假设你不关心其内部实现,仅仅看怎样使用的话,直接看这篇就可以. 接上篇,接下来,就用最最简单的样例来说明一下: 用两个布局文件main 和 test: 当中,main.xml文件为: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layo…
LayoutInflater的inflate方法,在fragment的onCreateView方法中经常用到: public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { LayoutInflater的inflate方法一共有四种,但我们日常用经常用到的就只有这两种: public View inflate(int resource, ViewGroup r…
LayoutInflater的inflate方法,在fragment的onCreateView方法中经经常使用到: public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { LayoutInflater的inflate方法一共同拥有四种,但我们日经常使用经经常使用到的就仅仅有这两种: public View inflate(int resource, Vi…
前言 在 Java 刚诞生时,Thread 类就已经有了很多方法,但这些方法由于一些原因(有一些明显的bug或者设计不合理)有些已经废弃了,但是他们的方法名却是非常的好,真的是浪费.我们在进行并发必编程的时候一定要注意这些. 过期方法1----- stop 方法 过期方法2------suspend 方法和 resume 方法 常用方法1------线程中断方法 interrupt,isInterrupted,static interrupted 常用方法2------等待线程结束 join 方…
exec函数族 1)exec函数族说明 fork()函数用于创建一个子进程,该子进程几乎复制了父进程的全部内容,但是,这个新创建的进程如何执行呢?exec函数族就提供了一个在进程中启动另一个程序执行的方法.它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段.代码段和堆栈段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新的进程替换了.另外,这里的可执行文件既可以是二进制文件,也可以是Linux下任何可执行的脚本文件. 在Linux中使用exec函数族主要有两种情…
前面说完了导入和导出的几种方法,如果大家细心的话会注意到前面我们导出的都是类,那么方法和属性能不能导出呢???答案是肯定的,下面就来说下MEF是如何导出方法和属性的. 还是前面的代码,第二篇中已经提供了下载链接,大家可以下载学习. 首先来说导出属性,因为这个比较简单,和导出类差不多,先来看看代码,主要看我加注释的地方,MusicBook.cs中的代码如下: using System; using System.Collections.Generic; using System.Linq; usi…
Java高性能编程之CAS与ABA及解决方法 前言 如果喜欢暗色调的界面或者想换换界面,可以看看我在个人博客发布的 Java高性能编程之CAS与ABA及解决方法. CAS概念 CAS,全称Compare And Swap,比较与交换. 属于硬件级别的同步原语,从处理器层面提供了内存操作的原子性. 从概念上,我们可以得出三点.第一,CAS的运作方式(通过比较与交换实现).第二,硬件层面支持,性能肯定不低(当然它也不是银弹).第三,提供原子性,那么它的功能肯定是确保原子性,从而确保线程安全. 实际使…
网络编程之socket socket:在网络编程中的一个基本组件,也称套接字. 一个套接字就是socket模块中的socket类的一个实例. 套接字包括两个: 服务器套接字和客户机套接字 套接字的实例化需要3个参数: 1.地址簇:socket.AF_INET 2. 流:socket.SOCK_STREAM 3.使用的协议: 默认为0 服务器套接字:以下简称socket_server 客户端套接字:以下简称socket_client 地址:address=('127.0.0.1',8000) so…
上一篇在这 C++混合编程之idlcpp教程Python篇(5) 第一篇在这 C++混合编程之idlcpp教程(一) 工程PythonTutorial4中加入了四个文件:PythonTutorial4.cpp, Tutorial4.cpp, Tutorial4.i, tutorial4.py.这个做法和以前不太一样,前几个工程中用.i文件生成的头文件时,类型的成员函数都是用内联的方式写在头文件中.实际上按C++的使用习惯来说只有简短的函数建议以内联方式实现,其余的函数一般写在另一个对应的.cpp…
上一篇在这 C++混合编程之idlcpp教程Lua篇(5) 第一篇在这 C++混合编程之idlcpp教程(一) 工程LuaTutorial4中加入了四个文件:LuaTutorial4.cpp, Tutorial4.cpp, Tutorial4.i, tutorial4.lua.这个做法和以前不太一样,前几个工程中用.i文件生成的头文件时,类型的成员函数都是用内联的方式写在头文件中.实际上按C++的使用习惯来说只有简短的函数建议以内联方式实现,其余的函数一般写在另一个对应的.cpp文件中.此处加入…
并发编程之Operation Queue http://www.cocoachina.com/applenews/devnews/2013/1210/7506.html 随着移动设备的更新换代,移动设备的性能也不断提高,现在流行的CPU已经进入双核.甚至四核时代.如何充分发挥这些CPU的性能,会变得越来越重 要.在iOS中如果想要充分利用多核心CPU的优势,就要采用并发编程,提高CPU的利用率.iOS中并发编程中主要有2种方式Operation Queue和GCD(Grand Central D…
好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用的基本已经讲完了,相信大家已经能看出MEF所带来的便利了.今天就介绍一些MEF中一些较为不常用的东西,也就是大家口中的所谓的比较高级的用法. 前面讲的导出都是在每个类上面添加Export注解,实现导出的,那么有没有一种比较简便的方法呢?答案是有的,就是在接口上面写注解,这样只要实现了这个接口的类都会…
前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要采用分层架构,就拿最简单的三层架构来说吧,我们通常把业务逻辑写在DLL中,现在就来写一个例子,看看如何在不编译整个项目的情况下,轻松的实现扩展.先透露一下,我们只要添加一个DLL就可以了. 这里就以银行为例子吧,首先新建一个控制台项目,还叫MEFDemo吧,然后建一个类库写接口,然后再建一个类库实现…
上一篇学习完了MEF的基础知识,编写了一个简单的DEMO,接下来接着上篇的内容继续学习,如果没有看过上一篇的内容, 请阅读:http://www.cnblogs.com/yunfeifei/p/3922668.html. 下面我们来主要讲解一下MEF中的导入和导出,还是上一篇的代码(这篇中,我还会贴出完整的代码),修改Program的代码如下: using System; using System.Collections.Generic; using System.Linq; using Sys…
在文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架).单从名字我们不难发现:MEF是专门致力于解决扩展性问题的框架,MSDN中对MEF有这样一段说明: Managed Extensibility Framework 或 MEF 是一个用于创建可扩展的轻型应用程序的库. 应用程序开发人员可利用该库发现并使用扩展,而无需进行配置. 扩展开发人员还可以利用该库轻松地封装代码,避免生成脆弱的硬依赖项. 通过 MEF,不…
在Swift语言中使用Map.Filter.Reduce对Array.Dictionary等集合类型(collection type)进行操作可能对一部分人来说还不是那么的习惯.对于没有接触过函数式编程的开发者来说,对集合类型中的数据进行处理的时候第一反应可能就是采用for in遍历.本文将介绍一些Swift中可以采用的新方法. Map Map函数会遍历集合类型并对其中的每一个元素进行同一种的操作.Map的返回值是一个所得结果的数组.例如:我们要对一个数组里面的数据进行平方操作,常见的代码如下:…
  目录(?)[-] 简介 iOS有三种多线程编程的技术分别是 三种方式的有缺点介绍 NSThread的使用 NSThread 有两种直接创建方式 参数的意义 PS不显式创建线程的方法 下载图片的例子 新建singeView app 线程间通讯 线程同步 线程的顺序执行 其他同步   1.简介: 1.1 iOS有三种多线程编程的技术,分别是: 1..NSThread 2.Cocoa NSOperation (iOS多线程编程之NSOperation和NSOperationQueue的使用) 3.…
13.3 Socket编程之UDP协议 UDP协议和TCP协议都是Socket编程的协议,但是与TCP协议不同,UDP协议并不提供超时重传,出错重传等功能,也就是说其是不可靠的协议.UDP适用于一次只传送少量数据.对可靠性要求不高的应用环境.既然 UDP 是一种不可靠的网络协议,那么还有什么使用价值或必要呢?其实不然,在有些情况下UDP协议可能会变得非常有用.因为UDP具有TCP所望尘莫及的速度优势.虽然TCP协议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使速度受…
12.2 网络编程之HttpClient类 除了可以使用HttpWebRequest类来实现HTTP网络请求之外,我们还可以使用HttpClient类来实现.对于基本的请求操作,HttpClient类提供了一个简单的接口来处理最常见的任务,并为身份验证提供了适用于大多数方案的合理的默认设置.对于较为复杂的 HTTP 操作,更多的功能包括:执行常见操作(DELETE.GET.PUT 和 POST)的方法:获取.设置和删除 Cookie 的功能:支持常见的身份验证设置和模式:异步方法上提供的 HTT…
MEF系列文章: C#可扩展编程之MEF学习笔记(一):MEF简介及简单的Demo C#可扩展编程之MEF学习笔记(二):MEF的导出(Export)和导入(Import) C#可扩展编程之MEF学习笔记(三):导出类的方法和属性 C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻 C#可扩展编程之MEF学习笔记(五):MEF高级进阶…
本文由http://blog.csdn.net/totogo2010/原创 1.简介: 1.1 iOS有三种多线程编程的技术,分别是: 1..NSThread 2.Cocoa NSOperation (iOS多线程编程之NSOperation和NSOperationQueue的使用) 3.GCD  全称:Grand Central Dispatch( iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用) 这三种编程方式从上到下,抽象度层次是从低到高的,抽象度越高的…
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i=arguments;t.queue.push(function(){t[config].apply(t,i)})}}var t={config:config},u=document,e=window,o="script",s=u.createElement(o),i,f;for(s.src…
我是C++语言的忠实拥趸,由于在上学时经历了资源匮乏的DOS时代,对C/C++这种更加接近硬件的语言由衷的喜爱.一直以来也是已C++作为工作的语言,对别的语言那是不屑一顾.在java火爆流行的时候,没有去深入了解过.现在看其实是一种损失,若非如此这篇博文或许能早几年就写出来了.然后由于工作的关系学了一点C#,在看到关于元数据的时候,萌生了在C++中实现类似功能的念头.后来接触过一些脚本语言,发现借助元数据是实现C++和脚本语言混合编程的好办法. 最初的时候,我尝试使用模板来实现这样的功能.经过一…
在上一篇 C++混合编程之idlcpp教程(一) 中介绍了 idlcpp 工具的使用.现在对 idlcpp 所带的示例教程进行讲解,这里针对的 Python 语言的例子.首先看第一个示例程序 PythonTutorial0.像很多语言的第一个例子一样,是一个打印 Hello world 的程序.用Visual Studio 2015打开解决方案文件 tutorials\PythonTutorials\PythonTutorials.sln.其下已经有多个工程文件: 在工程PythonTutori…
在上一篇 C++混合编程之idlcpp教程(一) 中介绍了 idlcpp 工具的使用.现在对 idlcpp 所带的示例教程进行讲解,这里针对的 Lua 语言的例子.首先看第一个示例程序 LuaTutorial0.像很多语言的第一个例子一样,是一个打印 Hello world 的程序.用Visual Studio 2015打开解决方案文件 tutorials\LuaTutorials\LuaTutorials.sln,其下已经有多个工程文件. 在工程LuaTutorial0中,已经加入了三个文件,…
题目链接 You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top? 算法1:分析:dp[i]为爬到第i个台阶需要的步数,那么dp[i] = dp[i-1] + dp[i-2], 很容易看出来这是斐波那契数列的公式       …
iPhone socket 编程之BSD Socket篇 收藏在进行iPhone网络通讯程序的开发中,不可避免的要利用Socket套接字.iPhone提供了Socket网络编程的接口CFSocket,不过笔者更喜欢使用BSD Socket. iPhone BSD Socket进行编程所需要的头文件基本都位于/Xcode3.1.4/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/usr/include/sys下,既然本篇文章作为…
java中的网络编程之TCP协议的详细介绍,以及如何使用,同时我在下面举2例说明如何搭配IO流进行操作, /* *TCP *建立连接,形成传输数据的通道: *在连接中进行大数据量传输: *通过三次握手完成连接,是可靠协议: *必须建立连接,效率会稍低 */ /* * TCP传输 * Socket和ServerSocket建立客户端和服务器端建立连接后, * 通过Socket中的IO流进行数据的传输关闭socket同样, * 客户端与服务器端是两个独立的应用程序. */ //-----------…
编程之美2.5:寻找最大的K个数 引申:寻找第k大的数: 方法一: // 选择第k大的数(通过改进快速排序来实现) public static void SelectShort(int[] array, int low, int high, int k, out int value) { int i = low; int j = high; int tempItem = array[low]; value = int.MinValue; while (low < high) { while (a…