- 博客(14)
- 收藏
- 关注
原创 c文件编译-specs=
为什么写这篇文章?arm-none-eabi-gcc -c main.c -o main.oarm-none-eabi-gcc main.o -specs=gba.specs -o main.elfarm-none-eabi-objcopy -O binary main.elf main.gba1:预备ccl、cclplus:编译器as:汇编器ld:连接器objcopy:二进制转换工具2:gccgcc叫做compiler driver(编译驱动程序),通过解析命令
2022-04-17 23:23:00
914
原创 基于linuxC即时通讯系统
0:基于linux网络聊天室(总代码量2000行)工具:c,ubuntu18.04,vscode,gcc,sqite3,linux系统编程,多线程编程,socket网络编程。功能:注册登录群聊私聊下线和退出程序注销账号心跳检测密码不回显查看历史记录管理员手动禁言,解禁,识别敏感词汇不转发发文件0: 项目无明显bug,完美运行现有功能。1:本聊天室采用c/s客户端服务器架构,服务器负责转发信息,登录注册等操作。使用多线程处理多个连入的客户端。2:聊天室功能:能够实现客户端登
2021-09-06 23:16:24
885
1
原创 密码不回显
下列是显示ascii码的十进制的函数(回车,回退都可以检测)int main(){ struct termios old,new; tcgetattr(0,&old); new = old; new.c_lflag &= ~(ICANON);//输入一个字符立马被接收 tcsetattr(0,TCSANOW,&new); char ch; printf("|%d|\n",ch); scanf("%c",&c.
2021-09-01 21:12:05
369
原创 单链表增删改查排序
#include<stdio.h>#include<string.h>#include<stdlib.h>struct Node{ int age; struct Node * next;};int len(struct Node *head){ int i = 0; while(head->next != NULL) { head = head->next; i++;
2021-07-06 18:10:17
171
原创 c++相对c的增强
1:命名空间和头文件命名空间:解决合作开发时命名冲突问题标准化头文件如iostream,fstream等都位于标准化空间std中,并且c支持的头文件以c开头并且去掉.h如(cstdio,cstdlib,cstring),使用时要加上using namespace std;语句。而保留的老版头文件则不在标准命名空间std中例如iostream.h等。新旧头文件不对功能进行大幅修改,只改动微小细节,因此新旧头文件并不是一一对应。命名空间,域解析符::的使用:#include <iostream&
2021-07-06 10:44:08
129
原创 linux获取时间
1:UTC时间举例:Fri,08, Nov 2002 09:42:22 +0800全球分为24个时区北京为东八区表示为+0800纽约为西五区表示为-0500北京就比纽约快了13个小时2:linux系统获取时间RTC:实时时钟,电脑一个部件,记录了实时时间现在是几点就是几点。jiffies:内核中的一个全局变量,内核每过一个节拍时间,这个jiffies+1。节拍时间就是内核调度时间用hz表示1khz=1ms系统开机,内核从RTC读取实时时间,jiffies初始化=这个实时时间(比如2021
2021-04-04 00:41:56
848
2
原创 ubuntu18.04文件和设置打不开
问题简介:ubuntu18.04文件和设置打不开。为什么有这个文章:1:就想sqlite3按方向键可以显示以前命令而不显示乱码。2:百度搜到的方法:在装sqlite3之前先:apt install libreadline-dev3:确实可以但是用没多久ubuntu图形界面的文件和设置打不开。尝试过重装系统,各种骚操作,均失败。对于强迫症患者难以接受。简述解决问题过程。第一个问题sqlite3方向键可以调出历史命令,已经装过sqlite3再去装libreadline-dev肯定想先卸载sqlite3
2021-04-02 23:13:15
1801
2
原创 c语言课设
1:清屏printf(“\033c”);2:延时sleep(1);延时1s3:getchar()一方面,实现暂停功能。另一方面,把\n吃掉4:数组名常量,指针变量。(遇到左值是常量的时候想一下)5:写之前的迷惑(自己依葫芦画瓢的想法,可能是错的)可能习惯了#includeint main()void function(int)写在一个.c文件所以分开怎么写呢1)单独写一个.h文件把要用到的#include全部包含进去,结构体定义也写这里,宏替换也写这里,函数申明也写这里2)函数部分一个函
2021-02-13 21:29:19
459
2
原创 一群人围成一圈报数,123循环,报到3的退出,最后留下的是原来第几号
//总体思路,a[N]全赋值1,报到3的,赋值0,计数器清零,总人数减一,//一轮循环结束,数组尾巴连接到头,j=0实现,只要总人数不是1,就一直循环,//循环的时候数组值为0的全部跳过本次循环直接到下一次。//最后剩下一个值为1的把它标号输出,代表原来的#include<stdio.h>#define N 10int main(){ int a[N] ; int i, j, m, count=0; m = N;//m为当前人数 for (i=
2021-01-26 11:43:01
1569
原创 嵌入式开发概述
什么是嵌入式传统开发软件直接控制硬件,比如51单片机开发,在开发软件的时候还要兼顾硬件知识,这样的开发模式主要有两点缺点.1:软件与硬件耦合性高,造成移植性差.2:软件开发者还需了解硬件基本原理,对培养该类人才造成困难.嵌入式开发在原有硬件上移植操作系统,通过软件控制操作系统,操作系统控制硬件。从而移植性高,软件开发可不必了解底层原理。ARM芯片与嵌入式嵌入式CPU与通用型的最大不同之处在于嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CP
2021-01-20 23:07:14
1472
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅