嵌入式学习

嵌入式学习1

工具的学习

SSH(Secure Shell)的远程登陆

服务端使用sshd命令
  客户端(client)SecureCRT实现SSH,通过ip密码登录

Zmodem实现windows和Linux之间的文件传输

ubuntu (rzsz命令) rz接受文件 sz发送文件,sz发送后面接文件名

Samba服务实现Linux目录在windows上的映射

windows和windows之间通过晚上邻居的方式,实现文件共享(\符号加地址),windows和windows之间的协议为smb(send message block);在s和b后面加a和windows上的协议相区别,samba实现将Linux虚拟为一个假的windows,实现在远程windows上的共享,smbd、nmbd两个服务为Samba的服务进程。

samba需要添加用户的密码(sudo smbpasswd -a 已有的用户名),添加的用户必须为Linux系统已有的用户,密码需要重新设置,为了防止系统密码的泄露
服务的流程:

安装服务->配置服务->重启服务

sudo apt-get install samba ## 安装samba服务
vim /etc/samba/smb.cof ## 配置samba服务
sudo /etc/init.d/smbd restart 
sudo /etc/init.d/nmbd restart ## 重启samba服务

在window文件资源栏中输入\\ip即可,或者通过工具中的网络映射,把共享文件夹映射为一个盘符


程序的学习

GCC的使用及其常用选项介绍

C语言如何变成机器指令

gcc工具常用选项的意义

Gcc的概述

最初的全名GNU C Compiler

随着支持语言的增加,变为GNU Compiler Collection

翻译官:人能理解的语言翻译为机器识别的语言

C的编译过程

文件后缀名c、cpp等,gcc通过后缀名,调用不同的编译器

gcc -o 输出的文件名 输入文件名

gcc -v -o 输出文件名 输入文件名 (-v打印编译的信息) 打印出来内容空格之后的内容为调用的文件

gcc -S -o 编译为.s文件(编译器)生成汇编命令文件

gcc -c -o 编译为.o文件(汇编器)生成二进制文件

gcc -o (链接各种.o文件)生成最终的执行程序

编译过程中的参数 功能
-E 只是预编译,生成.i文件
-S 编译器编译,生成.s汇编代码
-c 汇编器编译,生成.o目标文件
-o 链接生成的各种.o文件,生成最后的执行文件
-o file 指定目录输出文件
-I[dir] 搜索头文件路径
-g debug
预处理

【cpp -o 生成预处理文件(替换)】

gcc -E -o 生成.i文件

define和include这两个不是关键字,因为预处理时已经处理了define和include,所以编译时已经不存在define和include的,因此编译的过程就是编译关键字及运算符号

常见错误

include出错,include双引号引用的一般是自己自定义的库寻找当前目录,<>为查找系统库函数

not found的解决:gcc -I跟查找头文件的目录 -o

链接出错

原材料不够:undefined,寻找标签是否实现,链接时是否加入

或者多了:multiple definition,多次实现了标签,只保留一个标签实现

预处理器的使用

#inlude 包含头文件,预处理器将头文件展开

#define 宏 替换 不进行语法检查

#define 宏名 宏体 (加括号)

#define ABC 5+3 printf(“The number of the %d\n”, ABC*5) 5+3*5 不加括号可能与预计结果不同

#define ABC(x) (5+(x)) 宏定义的函数

#ifdef #else #endif 条件编译,有利于debug和release版本之间的互换

gcc -D

gcc -DABC === #define ABC

预定义宏

__FUNCTION__:函数名%s
__LINE__:行号%d
__FILE__:文件名%s//方便调试

宏展开下的#、##

# 字符串化

## 链接符号

#define ABC(x) #x//进行字符串化"x",输出字符串x
#define ABC(x) day##x//进行链接day和x,输出为dayx
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值