![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 79
龙德施泰.冯.置
多思考
展开
-
内存芯片接发
①。8位ROM: 对于8 bit ROM , 数据是8Bit 最小单位保存的②。使用2个8位芯片,变成一个16位芯片的时候, CPU A1 节芯片 A0地址角公用的、 数据角 累加③。使用4个芯片,编程一个32位的大芯片cpu 和外部内存控制器解法:cpu 8位 16位 32 位芯片 数据存储方式执行过程:cpu 内存控制器 rom 通信流程mov R0,#3 LDRB R1,[R0] 读地址3的...原创 2022-02-13 19:03:12 · 554 阅读 · 0 评论 -
第1个ARM裸板程序及引申(第004节_汇编与机器码)【修改机器码点亮led2]
汇编代码如下,点亮 jz2440 LED1灯 /* * 点亮LED2: gpf5 */ .text.global _start _start: /* 配置GPF5为输出引脚 * 把0x400写到地址0x56000050 */ ldr r1, =0x56000050 ldr r0, =0x100 /* mov r0, #0x400 */ str r0, [r1] /* 设置GPF5输出高电平 * 把0写到地址0x56000054 */ ldr r1,..原创 2021-11-21 12:41:32 · 788 阅读 · 0 评论 -
终端、进程组、守护进程
4. 守护进程 4.1.如何创建回话如何创建回话: 1. 创建会话进程不能是进程组组长,[比如父进程],该进程[子进程]成为新会话的首进程 2. 新会话丢弃原有控制终端,该会话没有控制终端[这种程序不能和用户进程操作,适合在后台运行,守护进程] 3. 建立新会话,调用fork,父进程终止,子进程调用setisid() 4. 建立成功以后 pid=gid=sid 5. 建立会话需要root权限 [ubuntu不需要] ppid pid g...原创 2021-08-18 10:10:19 · 214 阅读 · 0 评论 -
去掉QPushButton四周的虚线边框
设置背景图片 选择资源点击原创 2021-06-23 17:51:18 · 1532 阅读 · 0 评论 -
jz2440s3c2440 jtag口、串口、usb devices 使用
1.串口: 串口类型: 针串口 、usb串口的使用1. usb 串口 插入电脑2. 安装串口驱动,安装驱动以后 系统分配com4 窗口3. windows下载串口连接软件,连接串口,进入linux2.jtag烧写口: 针口(开发板10针口),需要排线连接板子和eop usb烧写器有哪些: jlink、op、 eop(jz2440标配)eop功能:1. 烧程序 2. usb 转串口功能1. 排线连接 板子上10针口和 eop ...原创 2020-05-16 09:58:07 · 3195 阅读 · 1 评论 -
基于Android Studio NDK开发
1. 开发环境配置Android Studio3.0.1android-ndk-r13gradle插件: classpath 'com.android.tools.build:gradle:3.0.1'gradle:distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 插件: ...原创 2020-03-22 17:14:52 · 1517 阅读 · 1 评论 -
Android Studio 基于mk 开发ndk 使用c
1. 创建一个普通android工程2. gradle配置apply plugin: 'com.android.application'android { compileSdkVersion 27 defaultConfig { applicationId "mk.denganzhi.com.myapplication" minSdkV...原创 2020-02-27 19:53:42 · 682 阅读 · 0 评论 -
Android Studio 基于cmake 链接静态库,动态库
1. 搭建环境环境变量: sudo apt-get remove openjdk* export JAVA_HOME=/opt/java/jdk1.8.0_211export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport NDK=/opt/jav...原创 2020-02-27 17:46:21 · 6390 阅读 · 2 评论 -
Eclipse开发NDK
1. 概念了解: 交叉编译:在一个平台下,编译另外一个平台能够执行二进制的代码windows下编译 成android 平台可以运行的汇编工具: ndk cdt: Eclipse开发c/c++插件 , 如果eclipse没有安装需要安装,查看是否安装该插件##NDK目录结构* docs:帮助文档: HOW TO:相当于index* ...原创 2020-02-22 16:01:24 · 2540 阅读 · 1 评论 -
c++ 操作符重载(一元 、二元操作符)
运算符号重载2中方法: 全局函数、成员函数一元运算符重载 :前置 ++ 前置-- 后置++ 后置--二元运算符重载 :+ -使用有元全局函数、成员函数实现运算符重载:#include "stdafx.h"#include <iostream>#include "string.h"#pragma warning(disable:4996...原创 2020-02-16 12:01:28 · 1130 阅读 · 0 评论 -
一次性看完 C++ 语法规范
1. c++ 继承#include "iostream"#include "string.h"using namespace std;class Parent{ /** 访问修饰符: * private: 只能在内的内部使用 * protected: 类的内部,子类 * public: 外部类 */public: virtual...原创 2020-02-15 19:06:28 · 472 阅读 · 0 评论 -
Select实现多路IO转接实现原理
int i, j, n, nready; int maxfd = 0; int listenfd, connfd; char buf[BUFSIZ]; /* #define INET_ADDRSTRLEN 16 */ struct sockaddr_in clie_addr, serv_addr; socklen_t cli...原创 2020-02-14 12:20:48 · 844 阅读 · 0 评论 -
vim gcc 静态库 动态库
1.vim内文本编辑器命令模式 :按下Esc dd: 删除光标所在行 #dd: 删除光标后#行 yy: 复制光标所在行,p复制以后存储 u : 撤销 ctrk+r:恢复被撤销操作 /关键字: 查找,按下n查看下一个,N 上一个 A: 光标回到行尾 I:光标回调行首 【进行以后变插入模式】 $: 光标回到行尾 0: 光标回调行首 【命令模式不变】...原创 2020-02-12 21:21:12 · 701 阅读 · 1 评论 -
linux系统调用socket(TCP使用总结)
1. 基础概念1.模型 OSI七层模型: 物理层、数据层、网络层、传输层、会话层、表示层、应用层 TCP/IP 4层模型:应用程、传输层(port)、网络程(ip)、链路层2.udp 协议:16位:源端口16位:目的端口3. tcp 协议:TCP协议百度热搜词条16:源端口号16位:目的端口号32位序列号 【发送sys时候携带的...原创 2020-02-12 19:47:10 · 2779 阅读 · 0 评论 -
c语言中总结
1. 基础概念1.1. 安装环境:安装Qt Creator 4.6.1 (Community), 自带gcc开发环境,配置环境变量:package\5.11.0\mingw53_32\binpackage\Tools\mingw530_32\bin编译:gcc hello.c1.2. C语言的编译过程:预编译 汇编 ...原创 2020-02-11 17:21:41 · 745 阅读 · 0 评论 -
linux系统调用线程
1. 基础概念早期unix系统中,没有线程概念,后来才引入线程linxu 为了迎合 windows引入了线程gdb不支持线程,因为gdb比线程出现了早区别:线程: 有独立的pcb. 没有独立的进程地址空间,线程在进程内部,共享进程地址空间进程: 有独立的进程 地址空间,有独立的pcb线程是分配资源的最小单位,如何理解:* 如果一个进程A有3个线程,那么cpu会把A...原创 2020-02-06 20:42:53 · 2115 阅读 · 1 评论 -
linux系统调用进程2信号
1. 信号理论基础**信号共性: 简单、不能携带大量信息、满足条件才发送**信号的特质: 信号是软件层面上的"中断"。一旦型号产生,无论程序执行到什么位置,必须立即停止运行,处理信号,处理结束,在继续执行后续指令。 所有信号的产生以及处理全部都是有【内存】完成的 *** 信号产生1. 按键产生,ctrl+z、ctrl+c2. 系统调用...原创 2020-02-06 18:49:21 · 2137 阅读 · 0 评论 -
linux系统调用进程
1. 基础概念1.程序和进程区别: 进程占用内存、cpu操作系统进程设置:单进程序设计:比如早起dos系统,听歌了不能干其他的多道程序设计单核cpu:cpu时间片切换多核2.地址空间 & mmu程序、命令的运行都会产生进程[比如ls 会产生进程,都是很快终止了该进程] 32位系统: 2^32=4G 虚拟地址 0-3G: 用户空间 3...原创 2020-02-06 17:50:23 · 1426 阅读 · 0 评论 -
linux系统调用IO
1. 系统调用概念:库函数-> 内核函数[系统调用] -> 驱动[磁盘、显示器]int main(){int a=10; // 在用户空间执行printf("%s\n","hello kernel"); // 系统调用进入内核,在内核执行int b=10; // 回到用户空间return 0 }2. 基本系统...原创 2020-01-30 13:42:34 · 1118 阅读 · 0 评论 -
makefile使用规范、变量、函数
1. makefile基本使用Make工程管理器是一个用来管理多文件的文件转化管理工具语法:目标:依赖1 依赖2 规则(前面必须是Tab)依赖1: 规则1依赖2: 规则2示例1:使用makefile输出helloworld首先使用vim创建一个文本文件,命名为makefile。内容为:all: echo "hello world"m...原创 2020-01-28 15:51:32 · 1319 阅读 · 0 评论 -
库函数c语言IO函数
1.fgets、fputs文件操作,文件加密, 逐行读写1) 文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:r(read): 读w(write): 写a(append): 追加t(text): 文本文件,可省略不写b(banary): 二进制文件rb+:可读可写+: 读和写2) 凡用“r”打开一个文件时,该文件必须已经存在,且只能从该文件读出。3) 用“...原创 2020-01-27 17:15:30 · 702 阅读 · 0 评论 -
c++ 多继承理解
1. c++多继承问题1#include <iostream>using namespace std;class B{public: int b;protected:private:};class B1 : virtual public B{public: int b1;};class B2 : virtual public B{pu...原创 2020-01-23 21:18:20 · 764 阅读 · 0 评论 -
c/c++ 预编译
c/c++ 以 # 开头的都是预编译指令: #define、#include #if(判断表达式), #ifdef、#ifndef(判断宏)#ifdef A 语句#else语句#endif -- 如果是头文件,那么#ifndef 相反 --- 功能: 判断A 表示符是否存在*************************...原创 2017-06-10 21:12:34 · 565 阅读 · 0 评论