- 博客(50)
- 资源 (8)
- 收藏
- 关注
原创 visual studio 2013 右键“查看定义”灰色,不能查看
如果在退出visual studio时,弹出提示信息,.sdf文件无法打开的信息。安装Microsoft® SQL Server® Compact 4.0https://www.microsoft.com/en-au/download/details.aspx?id=30709重启visual studio,在打开即可。
2021-01-19 09:03:30
699
原创 内核线程创建的理解
kthread_create创建线程kthread_stop发送停止线程信号kthread_should_stop接收停止线程信号create:static int printsth(void* data){ int cnt = 150000; while(cnt > 0 &&! kthread_should_stop()){ printk("kct: %d\n", cnt); cnt--; msleep
2020-10-20 16:32:26
254
原创 rhel6.9上制作rpm安装包
1,源码结构与内容,打包放入BUILDROOT[ten@localhost ~]$ ll hello-0.1/total 8-rw-rw-r-- 1 ten ten 59 Jun 16 10:18 helloworld.c-rw-rw-r-- 1 ten ten 109 Jun 16 10:36 Makefile[ten@localhost ~]$ cat hello-0.1/Makefile RPM_INSTALL_ROOT:=all: gcc helloworld.c -o hel.
2020-06-16 10:53:16
443
原创 dlopen.dlsym.dlclose的应用
1.概念dlopen()指定模式打开指定的动态链接库文件,并返回一个句柄给dlsym()的调用进程,使用dlclose()来卸载打开的库。通俗的讲就是读取库内函数来使用库里的函数。2.流程打开库:void* dlopen(const char* libfile,int flag);取函数:void* dlsym(void* handler, const char* symbol);运行函数:func关闭库:int dlclose(void* handler);3.实例ru
2020-06-12 11:29:15
265
原创 ldd查询可执行文件和库对其他库的依赖
1.使用静态库编译出的执行文件与静态库的依赖[teanee@localhost sdlib]$ ldd test linux-vdso.so.1 (0x00007ffdd0197000) libc.so.6 => /lib64/libc.so.6 (0x00007f4aa94fa000) /lib64/ld-linux-x86-64.so.2 (0x000055630e42b000)[teanee@localhost sdlib]$ ldd libsd.a l...
2020-06-12 11:28:45
1251
原创 了解linux静态库&动态库
1,编写库相关文件sd.c:int sumab(int a, int b){ return a+b;}sd.hint sumab(int, int);Makefilesda: gcc -c sd.c ar rs libsd.a sd.o gcc test.c libsd.a -o test rm sd.osdd: gcc -c -fpic sd.c gcc -shared sd.o -o lib...
2020-06-12 11:24:26
210
转载 rhel6.9 mp4解码器
yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm//yum install libdvdcss gstreamer{,1}-plugins-ugly gstreamer-plugins-bad-nonfree gstreamer1-pl...
2019-06-30 23:17:34
419
转载 编译busybox出现cannot find -lcrypt错误的解决办法
/usr/bin/ld: cannot find -lcryptcollect2: ld returned 1 exit statusmake: *** [busybox_unstripped] Error 1出现这个错误的原因是因为在配置busybox的时候,通常配置为静态编译,所以编译后在最后的链接阶段需要链接crypt的静态库文件(libcrypt.a),而非动态库文件(l...
2019-06-11 15:48:58
1754
原创 字符串数组初始化与赋值
char **args; 初始化一个二级指针。在内存中值会有sizeof(char**)大小的内存空间,这个变量是声明出来的,在栈空间,通常64系统的地址是8bytes。这8字节地址保存的是另一块内存的地址,但是这块内存还没有分配。那么这8字节的指向的内存应该保存什么呢?字符串的首地址的数组。所以char **args = (char**)malloc(3*sizeof(char*)); 这里...
2018-12-10 23:09:35
3583
转载 linux IPC 共享内存
共享内存更像是客户端从服务端申请内存(这里的服务端是内核,客户端是用户进程或线程),这块内存通过特殊标识来进行区分,通过内核的api,给定内存的特殊标识,内核返回给进程所需的内存。则可以通过对其对写实现进行通讯(因为其他进程只要知道这个特殊标识,就可以得到这块内存的读写权限)。因为设计到多进程对同一内存的读写,所以涉及到进程同步,需要加入信号量等其他东西。当然内存共享效率高。用法:#i...
2018-12-10 11:07:20
253
原创 排序算法(五).快速排序
算法实现:quicksort.c#include <stdio.h>void display(int* arr,int len){ int i = 0; for(i=0;i<len;i++){ printf("%d,",arr[i]); } printf("\n");}void quicksort(int* arr, int l, int r){ prin...
2018-04-12 22:02:02
142
原创 排序算法(四).归并排序
代码实现:mergesort.c:#include <stdio.h>#include <stdlib.h>void mergearr(int* src, int* tmp, int b,int c,int e){ int lb = b,le = c-1; int rb = c, re = e; int p = b; while(lb<=le &...
2018-04-08 21:39:55
144
原创 排序算法(三).希尔排序
算法实现:shellsort.c:#include <stdio.h>void printarr(int* arr,int len){ int i =0; for(i=0;i<len;i++){ printf("%d\t",arr[i]); } printf("\n");}/* * 希尔排序是对范围分段,段1,段2,段3 等等 * 段1[0]和段2[0]...
2018-04-04 09:36:39
162
原创 排序算法(二).选择排序
算法实现:selectsort.c:#include <stdio.h>void selectsort(int* arr,int len){ int i=0,j=0,k=0; int tmp=0,min=0; for(i=0;i<len;i++){ min = i; for(j=i+1;j<len;j++){ ...
2018-04-03 09:34:06
156
原创 排序算法(一).插入排序
算法实现:insertsort.c:#include <stdio.h>void insertsort(int* arr,int len){ int i = 0,j = 0,k=0; int tmp = 0; for(i=1;i<len;i++){ tmp = arr[i]; j = i-1; while...
2018-04-03 09:06:09
159
原创 C++ const成员函数与mutable变量
当在c++中,定义类时,对一个函数使用const进行修饰后,该函数将无法修改类成员变量的值,但对mutable修饰的成员变量没有这个限制。class foo{private: mutable int f;public: void setf(int a) const; void print() const;};void foo::setf(int a) const{...
2018-03-02 10:03:36
397
原创 C++ 多线程小试 卖个票
#include <iostream>#include <pthread.h>#include <unistd.h>int ticks = 10;static pthread_mutex_t mlock = PTHREAD_MUTEX_INITIALIZER;void* selltick(void* seller){ while(ticks...
2018-02-24 11:07:00
281
转载 fedora21 配置apache共享文件目录
vim /etc/httpd/conf.d/autoindex.conf添加如下Alias /ts "/ts" Options Indexes MultiViews FollowSymlinks AllowOverride None Require all granted127.0.0.1/ts 注意下目录权限即可
2015-08-11 17:26:26
498
转载 gdb调试命令 [转]
调用gdb编译需要在cc后面加 -g参数再加-o;[root@redhat home]#gdb 调试文件:启动gdb(gdb) l :(字母l)从第一行开始列出源码(gdb) break n :在第n行处设置断点(gdb) break func:在函数func()的入口处设置断点(gdb) info break: 查看断点信息(gdb) r:运行程序(gdb) n:单步
2015-04-16 11:13:35
530
原创 好记性不如烂笔头系列:编译ko模块相关
环境:[root@ko]# pwd/home/android/android-4.0/ko[root@ko]# lshello.c Makefile[root@omap]# pwd/home/android/android-4.0/omap[root@omap]# lsarch drivers Kbuild mm
2015-04-07 10:50:41
556
原创 android虚拟机详解
service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server @system/core/rootdir/init.rc/system/bin/app_process|-->main(): @fr
2014-12-15 14:23:37
1172
原创 android4.0电源管理详解
从PowerManager->PowerManagerService->power.java->power.c->kernel
2014-12-15 14:07:27
1069
原创 bionic syscall 添加函数
android: 4.0.4硬件: nexus内核: 3.0.8kernel:--------------------------------------------------------------------------------------------------------------------kernel_src/fs/open.c 添加:SYSCA
2013-09-11 17:11:16
1211
原创 android log机制分析
logcat机制framework层:frameworks/base/core/java/android/util/Log.java该文件定义且实现了Log类在类中各种log记录方法都依赖于native的实现println_native(),类中的log.v()等方法最终都是调用了println_native()。native方法println_native()是通过JNI在c/c
2013-09-10 17:52:57
1776
原创 android 添加jni函数
[GM5@GM5 jnitmp]$ vim Javahello.java[GM5@GM5 jnitmp]$ javac Javahello.java [GM5@GM5 jnitmp]$ javah JavahelloJavahello.java
2013-09-10 16:13:38
934
原创 framework目录编译进nexus手机的文件功能描述
./bin/am am命令来发送Intent ./bin/app_process 系统进程 ./bin/audioloop 多媒体框架读取缓存内容
2013-09-06 14:01:15
2525
原创 galaxy nexus android4.0.4编译rom GPS无法打开解决方法
长话短说:从google下载的android4.0.4源码在下载wifi bt等驱动后编译出来的rom烧录到手机后GPS模块无法使用。添加两个文件到手里就行:sirfgps.conf /system/vendor/etc 点击下载gps.omap4.so /system/vendor/lib/hw 点击下载重启手机,开机
2013-07-04 17:03:37
1052
翻译 mips 源码下载 2.1,2.3.5,4.0.4
步骤简化,主要是git地址。-------------------------------------------------------------版本: Android Froyomkdir mipsandroid cd mipsandroidrepo init -u git://github.com/MIPS/manifests.git -b mips-froy
2012-10-16 16:30:31
1119
转载 thumb机器码表
本文转自:http://forum.eet-cn.com/BLOG_ARTICLE_5306.HTM &http://forum.eet-cn.com/BLOG_ARTICLE_5307.HTM这么好的东西在csdn里竟然没有,转发。感谢原作者。v is immed_value n is Rn m is Rm s is Rs r is
2012-08-02 17:07:53
1590
原创 android 4.1 源码 官方下载
今天4.1好像是公开下载链接了https://android.googlesource.com/platform/manifest 在这里找了一下有个 android-4.1.1_r1 差不多就是这个了;-------------------------------------------------1,先下个能用的repo:$ curl https://dl-ss
2012-07-10 16:29:52
9255
原创 fedra14 音乐播放 mp3解码问题解决
找个个链接 http://ishare.iask.sina.com.cn/f/23160875.html把这个rpm包下载之后安装 rpm -ivh rpmfusion-free-release-stable.noarch.rpm然后用root执行 yum install gstreamer-plugins-bad gstreamer-ffmpeg gstreamer-plugi
2012-07-10 16:20:27
674
原创 fedora14 编译android2.3 cannot find -lhistory
错误:/usr/bin/ld: cannot find -lhistory解决:yum install readline-devel
2012-06-05 19:33:31
1079
原创 fedora14 编译android2.3 找不到zlib.h
错误:external/clearsilver/cgi/cgi.c:22: fatal error: zlib.h: No such file or directory解决方法:yum install zlib-devel.i686 这命令就是把zlib的开发包安装到fedora14上。
2012-06-05 18:31:54
1249
转载 linux动态链接库使用过程中库的链接过程
加上-fPIC参数后,编译后的文件和没有加这个参数的文件,有什么区别呢?没有加这个参数的编译后的共享库,也可以使用,它和加了参数后的使用起来又有什么区别呢?position independent(位置无关)relocate(可重定位)位置无关代码主要是在访问全局变量和全局函数的时候采用了位置无关的重定位方法,即依赖GOT和PLT来重定位。普通的重定位方法需要修改代码段
2012-04-09 16:03:21
951
转载 android prebuilt
如果把source code放到Android下编译,可以参照其它Andorid.mk写对应的Makefile。如果在编译Android之前已经有编译好的库或者配置文件时,如何加入到Android中呢?Android提供了Prebuilt编译方法,两个文件prebuilt.mk和multi_prebuilt.mk,对应的方法宏是BUILD_PREBUILT和 BUILD_MULTI
2012-04-09 15:56:13
3060
转载 F14编译android4.0出现的问题
1Q:host Executable: emulator_renderer (out/host/linux-x86/obj/EXECUTABLES/emulator_renderer_intermediates/emulator_renderer)/usr/bin/ld: out/host/linux-x86/obj/EXECUTABLES/emulator_renderer_inte
2012-03-27 10:50:48
1497
转载 python4android
首先去: http://code.google.com/p/android-scripting/downloads/list下载ase_r14.apk.下载三个python模块:python_extras_r0.zippython_r0.zippython_scripts_r0.zip把这三个放到存储卡根目录.ASE会自动找的.打开ASE->Menu键->Interpret
2012-03-05 16:18:14
1023
原创 tetware移植 to android心得
移植tetware(inet): tetware在linux下运行需要tet用户,/home/tet/ 目录,需要在运行tccd进程时,切换用户和目录,在android下这两点不具备; 这两点不是必须的,所以在tccd代码里去掉这部分;tet3.7-src/src/tet3/tccd/下tccd.c文件 删除tet_ss_initdaemon()函数里的:/*
2012-02-14 14:54:00
1100
原创 python初学笔记(六)---实例学python
12,函数: 函数是重用的程序段,他们允许你给一块语句一个名称,然后你可以在你的程序的任何地方使用这个名称任意多次地运行这个语句块。这被成为调用函数。我们已经使用了许多内建的函数,比如len和range; 函数通过def关键字定义,def关键字后跟一个函数的标识符名称,然后跟一对圆括号。括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体。 ex: de
2011-11-08 14:24:32
648
原创 python初学笔记(五)---实例学python
10,break语句: break语句是用来终止循环语句的,即,哪怕循环条件没有到false或序列还没有被完全递归,也停止执行循环语句; 一个重要的解释是,如果你从for或者while循环中终止,任何对应循环else块将不执行。 while True: s = raw_input('enter something:') if s == 'quit'
2011-11-02 09:46:09
509
i9250源生4.0.4系统编译rom解决gps问题 gps.omap4.so
2013-07-04
搜索引擎的研究与实现Java含源码
2010-01-17
J2ME入门电子书 exe 格式 入门书籍
2009-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人