6 Kennedyme

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 10w+

linux使用gcc编译c语言静态库和共享库

这篇文章主要介绍了在linux中使用gcc编译c语言共享库的步骤,大家参考使用吧对任何程序员来说库都是必不可少的。所谓的库是指已经编译好的供你使用的代码。它们常常提供一些通用功能,例如链表和二叉树可以用来保存任何数据,或者是一个特定的功能例如一个数据库服务器的接口,就像MySQL。大部分大型的软件项目都会包含若干组件,其中一些你发现可以用在其他项目中,又或者你仅仅出于组织目的将不同组件分离出来。当你有一套可复用的并且逻辑清晰的函数时,将其构建为一个库会十分有用,这样你就不将这些源代...

2020-06-09 22:01:39

Linux中断简述

一 Linux中断机制由来:内核空间和用户空间是现代操作系统的两种工作模式,内核模块运行在内核空间,而用户态应用程序运行在用户空间,他们代表不同的级别,对系统资源有着不同的访问权限,内核模块运行在最高级别(内核态),这个级别下的所用操作都受系统信任,而应用程序运行在比较低级别的(用户态)。处理器总是处于以下状态中的一种:内核态:运行于进程上下文,内核态代表进程运行于内核空间内核态:运行于中...

2020-04-13 14:07:43

面试题目积累

题目一:如何配置寄存器(1)通过手册:一、找到要操作IO口的基地址二、找到端口输入寄存器的地址偏移三、找到输入数据寄存器中具体的端口数据位(2)操作IO口一、找到基地址二、找到偏移地址,主要是以下几个寄存器:配置时钟使能:------RCC_APB2ENR端口配置高/低寄存器:CNF位、MODE位 -----GPIOx_CRH/GPIOx_CRH 端口输出数据寄存器: ...

2019-11-13 11:24:27

面试积累——嵌入式软件工程师面试题

预处理器(Preprocessor)1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如...

2019-10-22 15:16:39

大小端模式详解

1.问题引入加3g实验室的艰难之旅,遇到一道这样的实验室面试题:阅读以下代码,计算结果。int main(){ int a[5] = {1,2,3,4,5}; int *ptr2 = (int *)((long int)a+1); printf("%x",*ptr2); return 0;}**输出结果为2000000**原题对a强制...

2019-10-21 16:28:06

static在C语言中的用法

在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容复制代码代码如下:char a = 'A'; // global v...

2019-10-21 16:08:31

linux下简单模拟文件系统

整体思路:文件系统基于一个大文件实现大文件数据分为几个区域来模拟简单的文件系统1.User:username and password2.SuperBlock:blockSize,blockNum,inodeNum,blockFree3.blockBitmap:the use state of block area4.inodeBitmap:the use state of ...

2019-06-14 17:09:44

ADB 操作命令详解及用法大全

一、ADB是什么?二、ADB有什么作用?三、ADB命令语法单一设备/模拟器连接多个设备/模拟器连接四、ADB常用命令4.1 基本命令4.1.1 查看adb的版本信息4.1.2 启动adb4.1.3 停止adb4.1.4 以 root 权限运行 adbd4.1.5 指定 adb server 的网络端口4.1.5 查询已连接的设备/模拟器列表4.2 设备连接管理4.2.1...

2019-05-31 14:23:45

Android日常开发总结的技术经验60条

1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效。2. 数据库表段字段常量和SQL逻辑分离,更清晰,建议使用Lite系列框架LiteOrm库,超级清晰且重心可以放在业务上不用关心数据库细节。3. 全局变量放全局类中,模块私有放自己的管理类中,让常量清晰且集中.4. 不要相信庞大的管理类...

2019-05-31 09:57:17

Android模拟事件keycode对照表

1.例子://这条命令相当于按了设备的Backkey键adb shell input keyevent 4 //可以解锁屏幕adb shell input keyevent 82//在屏幕上做划屏操作,前四个数为坐标点,后面是滑动的时间(单位毫秒)adb shell input swipe 50 250 250 250 500//在屏幕上点击坐标点x=50 y=2...

2019-05-31 09:52:22

repo工具的使用

1.关于reporepo是Google开发的用于管理Android版本库的一个工具。repo并不是用来取代Git,而是用Python对Git进行了一定的封装,简化了对多个Git版本库的管理。对应repo管理的任何一个版本库,都需要使用Git命令进行操作。repo的使用过程大致如下:l运行repo init命令,克隆Android的一个清单库。这个清单库是通过XML技术建立的版本...

2019-05-28 14:53:15

system.img的打包和解压

1、解压system.img先用file命令查看system.img的文件类型ronny@ronny:~/tmp$ file system.imgsystem.img: data 我还没用simg2img转换ronny@ronny:~/tools/simg2img system.img s.img然后再用file命令ronny@ronny:~/tmp$ file s.imgs...

2019-05-20 11:31:02

各种编码UNICODE、UTF-8、ANSI、ASCII、GB2312、GBK详解

一、编码历史与区别一直对字符的各种编码方式懵懵懂懂,什么ANSI UNICODE UTF-8 GB2312 GBK DBCS UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们。Let's go!  很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。  ...

2019-05-06 16:55:14

爬取豆瓣top250

直接看代码吧:import requestsfrom bs4 import BeautifulSoupimport reimport pandasheaders = { 'Host':'movie.douban.com', 'Origin':'movie.douban.com', 'User-Agent':'Mozilla/5.0 (Linux; Androi...

2019-04-29 17:57:17

Binder通信实例

服务端:#include <stdio.h>#include <sys/stat.h>#include <fcntl.h>#include <sys/types.h>#include <unistd.h>#include <stdlib.h>#include <sys/mman.h>#inclu...

2019-04-03 15:06:17

linux常用命令

dd、cpio、mount、ps、df、du一、dddd可以读取磁盘设备的内容(几乎是直接读取扇区),然后将整个设备备份成一个文件。dd if="input file" of="output file" bs="block size" count="number" skip="number"参数解析:if :就是输入源(文件或者设备)of :就是输出(文件或者设备)bs :规划一...

2019-03-19 17:03:04

Linux下gcc库(动态、静态)的相关知识(编译生成及运用)

一、动态链接库的生成并运用1、动态库的编译下面通过一个例子来介绍如何生成一个动态库。这里有一个头文件:so_test.h,三个.c文件:test_a.c、test_b.c、test_c.c,我们将这几个文件编译成一个动态库:libtest.so。//so_test.h:#include "stdio.h"void test_a();void test_b();void test_...

2019-03-18 14:51:32

shell基本语法(一)

你在Linux环境下多试下就明白了:$0 这个程式的执行名字$n 这个程式的第n个参数值,n=1..9$* 这个程式的所有参数,此选项参数可超过9个。$# 这个程式的参数个数$$ 这个程式的PID(脚本运行的当前进程ID号)$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误...

2019-03-06 17:53:39

Linux调试宏的使用

Linux几个调试宏__FUNCTION__、 __TIME__ 、__LINE__、 __FILE__、 __DATA__(注意:前后都是两个下划线)这几个宏是编译器内置的,不是在哪个头文件中包含的直接上最简单的例子就好了,没必要多说。测试代码:test_time.c#include <stdio.h>int main(){ printf("The ...

2019-03-06 14:07:22

bat脚本的一些小知识(不定时更新)

1.简单打印:@echo ------------------ 会打印一条线出来注:为了直观表示,可以加上双引号,如:@echo "------------------"2.时间打印:@echo %date%-%time% 打印结果为:2019/03/05 周二-16:59:44.373.等待输入...

2019-03-05 16:59:37

查看更多

勋章 我的勋章
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。