实例:基于4412-实现添加自己的系统调用函数(学习《Linux内核设计与实现》 记录)
学习笔记: 在学习《linux内核设计与实现》过程中,了解到: 在Linux中,系统调用是用户空间访问内核的唯一手段(除异常和陷入之外)。 系统调用主要有三个作用: ①:为用户空间提供一个硬件的抽象接口。 ②:系统调用保证了系统的稳定和安全。 ③:为了实现多任务和虚拟内存(应用程序不可以随意访问硬件) 具体理论知识,可以自己看书了解,本帖子主要介绍基于iTOP-4412的3.0.15版本内核,增加自己系统调用的过程。 需要注意的是,建立一个系统调用非常简单,但绝不提倡。
大家可以使用一些替代
C语言:预定义,设置打印调试函数
#include <stdio.h>
#include <string.h>
#define pri(fmt, ...) printf(" --- "__FILE__" --- %s --- %d :" ,__FUNCTION__,__LINE__ );\
printf(fmt, ##__VA_ARGS__);
Notepad++格式化插件: NppAStyle和CoolFormat
在Notepad++安装插件过程中,经历的很多错误,好久没解决.后来查阅资料,发现: Notepad++的插件管理器plugin manager只有32位的Notepad++才有,要想使用plugin manager安装插件,需确定本机安装的是否为32位的Notepad++软件。 在把插件拷贝到安装目录下的plugins目录下后,插件不能正常显示。 去Plugin Manager中重新安装,提示如下错误: An update is available to Plugin Manager. It
报错:make: warning: Clock skew detected. Your build may be incomplete
使用gcc编译程序过程中,报错: make: warning: Clock skew detected. Your build may be incomplete
根据报错提示,是系统时钟有问题。 使用如下命令,调整系统时钟: ntpdate time.windows.com
root@ubuntu:/mnt/hgfs/Ubuntu12.04-share# date
Mon Dec 17 17:42:21 PST 2018
root@ubuntu:/mnt/hgfs/Ubuntu12.
实例:tasklet实现软中断(学习《Linux内核设计与实现》记录)
tasklet是通过软中断实现的,tasklet本身也是软中断。 关于tasklet更详细的知识,还是建议看一下《Linux内核设计与实现》 本贴子只介绍一下具体的流程。 驱动程序源码: #include <linux/init.h>
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/kdev_t.h>
#include <linux/cdev.h>
#include <linux/kernel.h>
#includ
Notepad++插件: HexEditor
1、hexdump 在linux下查看十六进制文件可以使用“hexdump”命令: root@ubuntu:/mnt/hgfs# hexdump config.ini
0000000 030a 0303 0303 0003 0000 0000 0000 0000
0000010 0000 0000 0000 0000 0000 0000 0000 0000
*
0000060 0000 0000 0000 3100 3239 312e 3836 302e
0000070 372e 0000
c++内存管理相关--new用法的补充
用new分配一段内存空间后(此内存空间可以在堆区和栈区)(int* p = new int;),可以用new来进行赋值操作(new (p) int(value);)
关于c++中operator delete函数的不懂之处
当用opetator new分配了一块存储空间后, 应该要用operator delete删除,但是, operator delete函数只接受一个内存地址指针, 它怎么知道要删除多大空间的地址呢.
ubuntu18.04+cmake+opencv+opencv_contrib+anaconda python源码编译
网上很多博客也写了关于在Ubuntu18.04下用cmake编译opencv+opencv_contrib+python源码的过程,只有自己动手做了以后才发现有很多的坑,因此将完整的过程写下来交流交流,也借鉴了很多别人写的博客,在此表示感谢!下面正式开始! 我的系统是ubuntu18.04 cmake --version: 3.10.2 gcc/g++ --version: 7.3.0 python --version: 3.7.0 which python: ~/anaconda3/bin/
在Java开发做了10年后,推荐此框架,颠覆Java应用
黑马程序员 2018-12-07 10:47:22 为什么说Spring Boot是颠覆性的呢?因为它彻底改变了Java应用开发的模式。 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 Spring boot的特点 1
基础练习:1105:数组逆序重存放
1105:数组逆序重存放 【题目描述】 将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。 【输入】 输入为两行:第一行数组中元素的个数n(1<n<100),第二行是n个整数,每两个整数之间用空格分隔。 【输出】 输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。 【输入样例】 5 8 6 5 4 1 【输出样例】 1 4 5 6 8 #include<iostream>
#include<iomanip>
using namespac
Spring事务配置-注解篇
事务注解,可以作用在类或者public方法上,写在类上的时候,对该类下的所有的public的方法有用。假如方法上加了final修饰,将会导致事务不可用。 具体参考:https://blog.csdn.net/bao19901210/article/details/41724355 举例说明:myBatis为例 基于注解的声明式事务管理配置@Transactional spring.xml
<span style="background-color: rgb(255, 255, 255);">
layer弹出层在移动端中的使用教程
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a5252145/article/details/85161829 注意:普通html中,直接引用css和js之后,然后在js代码块插入对应的代码。
我是在vue移动项目下测试的,效果如下:
使用目录 打开官网,下载对应的压缩包。http://layer.layui.com/ 下载好的压缩包,解压出来,放在static静态目录下,然后在index.html中引入使用的js和css。 在想要使用的
POI读取excel百万级-SAX方式解析
一. 简介 在excel解析的时候,采用SAX方方式会将excel转换为xml进行解析避免了内存溢出。 速度在3秒1W的数据写入,100W条记录,大概50M的数据,耗时大概4分半(如果不需要校验,可能会更快); 暂时先直接将项目中的拷贝出来,使用的时候直接调工具类即可。目前正在搞自己的一个项目,后期会将导入,导出都弄上去,再优化下,放到git上。 另外,膜拜下原生jdbc, 昨天问了下,听说可以达到1秒10W数量级的写入; 是在网上找的一个,然后自己封装了下, 加了一个委托,目前存在一个BUG
Android百度地图坑之Error inflating class com.baidu.mapapi.map.MapView
今天开始研究百度SDK,根据开发文档一步步操作,坑出现了,我添加了一个MapView显示地图,活动中getMap,它闪退!!!! 报错指向这一行 报错如下 百度了一下,有几个比较常见的问题: 1、没有初始化context,即没有在setContentView(R.layout.activity_main)前添加SDKInitializer.initialize(getApplicationContext())。 2、jar包没有正确导入,dependencies里添加依赖:implementa
今日推荐
周排行