- 博客(30)
- 资源 (11)
- 收藏
- 关注
原创 [iOS] dataWithBytes*引起的内存泄漏问题
今天晚上被dataWithBytes引起内存泄漏的问题弄得一个头两个大,回来后又想了一下,问题似乎不出在dataWithBytes本身。大致情况是这样:在while里面处理接收到的视频数据,将Binary Data用dataWithBytes来存成NSData结构,传一个bytes buffer进去,最后再转成UIImage呈现出来。最初是用:+ (id)dataWithBytes
2014-01-14 22:44:59
8484
原创 Perl快速入门
[作为快速入门类型的文章,用中文是必须的][建议正式读一本编程书籍前看一下快速入门类的文章]认识PerlPerl是一种高级、通用、直译式、动态的程序语言。最初设计者拉里·沃尔(Larry Wall)为了让在UNIX上进行报表处理的工作变得更方便,决定开发一个通用的脚本语言,而在1987年12月18日发表。Perl借取了C、sed、awk、shell脚本以及很多其他编程语言的特性
2013-06-29 22:24:46
3465
原创 Python Web app on GAE
利用Google App Engine for Python,写了一个简单的app,根据GAE的文档中提到的:A Python web app interacts with the App Engine web server using the WSGI protocoll, so apps can use any WSGI-compatible web application frame
2013-06-10 17:00:48
2189
原创 IPMsg
简单介绍:IP Messenger : http://ipmsg.org (p.s.:该网站的右上角有英文版网页链接)岛国H.Shirouzu写的跨平台局域网通信开源软件,基于TCP/IP,不需要服务器。国内大家用的Feiq(飞秋)就是作者基于IPMsg写的,目前更新到r3.42。初学tcp/ip的盆友不妨把source code抓下来读一读,i
2013-06-01 14:48:37
3360
1
原创 Xmonad——在Ubuntu12.04.2上使用Xmonad窗口管理器(续)
xmonad is a dynamically tiling X11 window manager that is written and configured in Haskell. In a normal WM, you spend half your time aligning and searching for windows. xmonad makes work easier, by automating this.
2013-05-31 19:56:02
1836
原创 Xmonad——在Ubuntu12.04.2上使用Xmonad窗口管理器
xmonad is a dynamically tiling X11 window manager that is written and configured in Haskell. In a normal WM, you spend half your time aligning and searching for windows. xmonad makes work easier, by automating this.
2013-05-30 23:14:43
3927
原创 JavaScript用武之Google Chrome Extension & User Script
Google Chrome Extension1. 可供查看的文档Google Extension的官方文档,https://developer.chrome.com/extensions/index.html详尽的说明,大量的例子,详尽的chrome API。国内有拿chromium开源project来开发的360极速浏览器,它的技术文档:http://open.
2013-05-30 22:38:24
3912
原创 GStreamer App开发 (二) HTML5 & GStreamer 简单说明
利用HTML5标准中新加的Video/Audio,GStreamer开源多媒体框来构建基于HTML5标准的多媒体播放系统。来自于QtWebkit的网页HTML5播放器“前端”实现:HTMLMediaElement …… JavaScript脚本被V8等引擎解析后,可以从这里拿到一些音视频文件的信息,无论它来自是本地亦或网络MediaPlayerPrivateGStreame
2012-08-31 23:38:06
2797
原创 GStreamer App开发 (一)
”GStreamer 是 GNOME 桌面环境下用来构建流媒体应用的多媒体框架,其目标是要简化音/视频应用程序的开发,目前已经能够被用来处理像 MP3、Ogg、MPEG1、MPEG2、AVI、Quicktime 等多种格式的多媒体数据。“GStreamer根据视频管道的理念来,参照了DirectShow的设计思想,了解DirectShow的同鞋看GStreamer时不会陌生。
2012-07-21 22:54:33
1608
原创 Linux发行版"can't open file manager"的问题
ubuntu和fedora上都遇到了这个问题,网上有说重新安装nautilus,也有说这样做无效的,我试了,没有解决问题,后来想想,把之前在/etc/ld.so.conf.d/*下加的动态库搜索路径删除之后,file manager果然好了。当然也可能是其它原因,反正我这儿是这个原因,至于为什么添加那个路径后会有这样的问题,下来再看一下。路径改变后需要执行 sudo ldconfig
2011-10-23 11:02:46
998
原创 GTK+ study (2) Cairo和GTK+用户自定义控件
Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System, Quartz, Win32, image buffers, PostScript, PDF, and SVG file out
2011-09-19 22:16:10
2110
1
原创 GTK+ study (1) supportting libraries
GTK+ and Supportting Libraries1. full OO dev inC :Gobject(the OO framework, split from gtk+ and added to Glib), includingobject inheritance, polymorphism, and, to the extent permissible in C
2011-09-12 15:20:35
906
原创 fedora手动安装firefox6
下载 firefox-6.0.tar.bz2,随便找个地方解压然后拷贝到 /usr/lib/ 下,或者直接解压到那里将fedora自带的3.6版本的firefox删除yum erase firefox将可执行的firefox链接到 /usr/bin/
2011-08-28 21:42:07
812
1
原创 认真对待内存管理
内存管理,新手需要掌握的一门课。内存的分配方式:静态存储区栈,栈内存的分配是由内置于处理器中的指令来完成,高效,但分配的容量有限,所以像函数的局部变量等避免分配大空间的内存,以免栈爆掉。堆常见内存错误及解决:内存分配并没有成功 [分配完后立马check]未初始化[缺少初始值不确定]越界访问内存[确定访问的地址在控制范围之内]内存泄漏[的确,内存分配后你释放或者不释放,它都
2011-08-06 17:12:55
1657
原创 eCos中的线程与同步
1.线程的创建void cyg_thread_create(...),创建一个线程,处于挂起状态 2.线程的控制void cyg_thread_yield (),使线程放弃对处理器的控制void cyg_thread_delay (cyg_tick_count_t delay),使线程挂起一定的时间void cyg_thread_suspend (cyg_handle
2011-03-26 15:28:00
4634
原创 串
str.h#ifndef _STR_H#define _STR_Htypedef struct _str{ char* ch; int length;}STR;STR* str_creat(char* str);int str_destory(STR* s);int str_clear(STR* s);int str_compare(STR* s, STR* t);STR* str_cantact(STR* s, STR* t);STR* str_sub(ST
2011-01-06 00:49:00
935
原创 双队列
输入限制型#include #include typedef struct _dqueue{ int data; struct _dqueue* next;}DQUEUE;DQUEUE* rear = NULL;DQUEUE* front = NULL;/* 输入限制型 */int dqueue_in(int value){ DQUEUE* dq = (DQUEUE*)malloc(sizeof(DQUEUE)); if(dq == NULL) {
2011-01-05 14:57:00
841
原创 队列
#include #define MAX_SIZE 10int queue[MAX_SIZE];int rear = -1; /* 队尾 */int front = -1; /* 队头 */int queue_in(int value){ if(rear >= MAX_SIZE) { return 0; } queue[++rear] = value; return 1;}int queue_out(int* value){ if(rea
2011-01-04 20:06:00
743
原创 栈
<br />stack.h<br />#ifndef _STACK_H#define _STACK_H#include "data.h"#define STACK_INIT_SIZE 10#define STACK_INCREMENT 10typedef struct{ Elemtype* top; Elemtype* base; int size;}STACK;STACK* stack_init();void stack_destory(STACK* stack
2011-01-04 14:40:00
633
原创 双链表
<br />dlist.h<br />#ifndef _DLIST_H#define _DLIST_Htypedef struct _node{ void* data; struct _node* prev; struct _node* next;}NODE;typedef struct { NODE* head; NODE* last; int length;}DLIST;;DLIST* dlist_init();int node_ins(DLI
2011-01-04 12:30:00
605
原创 单链表
<br />list1.h<br />#ifndef _LIST_H#define _LIST_Htypedef struct _node{ void* data; struct _node* next;}NODE;typedef struct{ NODE* head; NODE* last; int length;}LIST;LIST* list_init();int list_free(LIST* list);int node_insert(L
2010-12-30 17:46:00
616
原创 线性表
<br />list.h<br />#ifndef _LIST_H#define _LIST_H#define LIST_INIT_LENGTH 10#define LIST_INCREMENT 10struct _LIST;typedef struct _LIST LIST;LIST* list_init();int list_free(LIST* list);int node_insert(LIST* list, int i, Elemtype* elem);
2010-12-30 17:45:00
696
原创 automake/autoconf工程管理
目录结构最顶层目录名用模块名称,这里是test源文件放在模块下的src子目录里,这里是test/src 创建源文件在src下创建test.c #include int main(int argc, char* argv[]){ printf("Hello World!/n"); return 0;} 创建Makefile模板创建test/Mak
2010-12-28 19:03:00
1053
原创 Hello World
1.main函数的原型int main(void)int main(int argc, char* argv[])int main(int argc, char* argv[], char* env[] )argc命令行参数的个数argv命令行参数,以NULL结束env环境变量,以NULL结束#include int main(int argc, char* argv[], char* env[]){ int i = 0; printf("Hello World!/n"); for(i
2010-12-27 21:15:00
1096
原创 变参函数
/* va_list,va_start,va_arg,va_end are all declared in stdarg.h, and declare how to do so,also I can declare them by myself*/#include //#include #define va_list void*#define va_start(arg, start) arg=(va_list)(((char*)&(start))+sizeof(s
2010-12-27 20:22:00
770
Learning IPython for Interactive Computing and Data Visualization
2014-01-08
python 2.7.5 官方开发参考文档
2013-06-01
Core Python Applications Programming (3rd Edition)
2012-07-21
µC/OS-II Kernel
2012-01-03
µC/OS-III Kernel
2012-01-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人