这个问题一直烦了我很久,使用C51 keil进行.c文件链接的时候,老是报错诸如下面的信息: *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: aa MODULE: brightnessCTRL.obj (BRIGHTNESSCTRL) DEFINED: LED_Screen.obj (LED_SCREEN) 但是我发现,我确实只定义了一个这样名称的变量 其实这一点在arm keil中不会出现,arm keil的宽容度要好得多. 经过探索,我…
转自Linux ln命令 - 建立文件/目录链接 1. 使用方式:ln [option] source_file dist_file                     -f 建立时,将同档案名删除.                      -i 删除前进行询问.                      ln -s abc cde 建立abc 的软连接                      ln abc cde 建立abc的硬连接, 2. 软链接与硬链接的区别(通俗):       …
1.  查看  /usr/bin  中  python 执行文件的 链接情况 2.  设置   python  命令的可执行文件  链接为    python3 3.  此时 , yum  文件中的python 可执行文件也由  python2  改成了  python3 ,   因此需要改回  python2 将    #!/usr/bin/python   改为   #!/usr/bin/python2…
一.概论 在论文撰写过程中,不可避免地引用到参考文献.通常,论文格式要求我们在引用的正文后,使用中括号将参考文献章节中对应的出处条目序号引起来,例如: 有时,我们要建立起这两者之间的链接关系. 二.设置方法 点击word上方开始菜单下的编号按键. 点击"定义新编号格式"选项,设置编号格式,在"预览"中可以看到所设置的格式.点击确定,这些参考文献自动编号完成. 将光标定位在正文中需要插入参考文献上标的地方,点击"插入"选项卡中的"交叉引用…
mklink百度百科https://baike.baidu.com/item/mklink/566760?fr=aladdin 创建文件夹链接mklink /d "C:\Users\Administrator\Documents\Tencent Files" "D:\Documents\Tencent Files" 软件默认安装在c盘了,可以通过这种方式改变一些重要文件夹的路径,防止重装系统啥的导致文件丢失.…
Linux文件系统4-Linux文件硬链接与软连接 inode:索引节点 (连接文件)link 一.文件硬链接 1.Linux文件系统中,inode只相同的文件是硬链接文件 2.不同文件名,inode值可能是相同的,一个inode值可以对应多个文件 3.在linux系统中,连接文件是通过ln工具创建的 用ln工具创建文件硬链接:eg.denny@ubuntu: ~$ ln [源文件] [目标文件]                                                  …
Linux链接文件——管理链接文件的命令 摘要:本文主要学习了在Linux系统中创建链接文件的命令. ln命令 ln命令用于给文件创建链接,是Link的缩写. 基本语法 ln [选项] 源文件 目标文件 选项说明 -s:建立软链接文件.如果不加-s,则建立硬链接文件.如果源文件是在当前路径下,可以使用相对路径,否则如果不在当前路径下,则必须写成绝对路径. -f:强制.如果目标文件已经存在,则删除目标文件后再建立链接文件. 使用举例 [root@localhost home]# ls hello…
Linux中的文件属性 ls -lih 包括:索引节点(inode),文件类型,权限属性,硬链接数,所归属的用户和用户组,文件大小,最近修改时间,文件名等等 索引节点:相当于身份证号,系统唯一,系统读取文件时首先通过文件名找到inode,然后才能读取到文件内容 硬链接:文件的访问入口,相当于房子的多个门 用户和用户组:linux里面文件和程序的存在必须要有用户和用户组以满足相应的存在需求 1. 磁盘系统的inode和block(inode索引节点,block存储块存放文件内容:通过inode找到…
c/c++语言中有很多地方要用到extern,但是如果没有真正的了解它的意义,会给编程带来很大的麻烦,为了使大家少走弯路,特祥细的说明一下. 对于比较小的程序,一般只有一个c文件和一个头文件,全局变量我们通常会直接定义在c文件中,在程序之前加int i定义. 如果要在头文件中定义有以下两种方法:用extern来声明: extern int i; 这一句只是对变量i进行声明,在c文件的程序之前必须加上int i进行定义.extern int i=0;这一句声明和定义都做了. 对于大一点的程序,有很…
许多初学者使用网上下载的程序时都会遇到这样一个问题,就是头文件找不到.我想就这个问题说明一下./·首先,我们用到的KEIL有几种版本的,头文件也不同.有reg51.h和at89x51.h两种比较常见.at89x51和reg51这两个文件有点不同,reg51没有对IO口的位地址进行定义.所以我们在使用reg51的时候,可能会有一些相关语句通不过,比方说P0_1=1;这样的位操作.文件都放在Keil的KEILC/C51/INC目录下,大家可以看看自己的KEIL版本使用了哪个头文件,也有些KEIL封装…
一.混合编程 1.模块内接口: 使用如下标志符: #pragma asm 汇编语句 #pragma endasm 注意:如果在c51程序中使用了汇编语言,注意在keil编译器中需要激活Properties中的“Generate Assembler SRC File” 和“Assembler SRC File ”两个选项.来个实例吧: #include void main(void) { P2=; #pragma asm MOV R7,# DEL:MOV R6,# DJNZ R6,$ DJNZ R…
原文在此:http://www.cnblogs.com/mddblog/p/4920063.html 概述 在嵌入式系统中,启动文件是整个系统非常关键的部分,它会进行一些底层的初始化,构建程序运行必要的环境,比如堆栈初始化,变量初始化等.如果启动文件出现错误,则整个系统就跑不起来,因此研究启动文件非常必要. 在keil中,启动文件由汇编代码编写,一般命名为startup_xxx.s,xxx为支持的某种芯片,比如可以是lpc15xx(NXP的LPC15xx系列).MK60D10(飞思卡尔).stm…
转摘网址为:http://www.cnblogs.com/fengyv/archive/2012/08/10/2631313.html Linux下文件的类型是不依赖于其后缀名的,但一般来讲:    .o,是目标文件,相当于windows中的.obj文件    .so 为共享库,是shared object,用于动态连接的,和dll差不多    .a为静态库,是好多个.o合在一起,用于静态连接    .la为libtool自动生成的一些共享库,vi编辑查看,主要记录了一些配置信息.可以用如下命令…
参考文献: <ELF V1.2> <程序员的自我修养---链接.装载与库>第6章 可执行文件的装载与进程 第7章 动态链接 <Linux GOT与PLT> 开发平台: [root@tanghuimin dynamic_link]# uname -a Linux tanghuimin -.el6.x86_64 # SMP Fri Feb :: UTC x86_64 x86_64 x86_64 GNU/Linux 实例讲解之前先来一段理论铺垫,文字很繁琐但很必要事先了解.…
参考文献: <ELF V1.2> <程序员的自我修养---链接.装载与库>第4章 静态链接 开发平台: [thm@tanghuimin static_link]$ uname -a Linux tanghuimin -.el6.x86_64 # SMP Fri Feb :: UTC x86_64 x86_64 x86_64 GNU/Linux 1.ELF文件格式概貌…
转用MDK有一段时间了,越来越觉得MDK的强大,因为我之前都是用ADS1.2开发产品,所以更能体会到MDK的强大与易用性.MDK编译出来的代码与ADS1.2相比,代码量减少了很多,我的一个工程用ADS1.2编译为25.4KB(都是bin格式),但用MDK编译出来仅有19.5KB(采用默认优化级别,即L2优化级别).根据我个人的经验,使用一个新的编译器,难点往往有三个,一个是建立一个新的工程,以及工程项目的配置:二是启动代码的编写:三是如何下载和单步调试.今天重点写一下MDK的启动代码.使用MDK…
在Qt里面,.qrc文件是一种类似XML结构的文件,用结构化数据描述应用程序所需要的资源位置,例如图片,应用程序的图标文件等.它最终是与.ui文件类似都被通过Qt提供的命令行工具生成对应的qrc_XXX.cpp文件了.最终被链接到应用程序中. 对应的命令行是这样的: "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\q…
最近 在asp.net MVC 项目 需要实现一个Excel和 图片上传功能.之前有使用过SWFUpload 做过上传图片功能,在本次实现过程中,有人推荐WebUploader 上传组件,因此采用web-Uploader 来实现文件上传功能. WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用原来的FLASH运行时,兼容IE6+,iOS 6…
在Unix系统中,操作系统为磁盘上的文本与图像,鼠标键盘操作,网络交互等IO操作设计了一组通用API. 使他们被处理的时候可统一用字节流的方式.所以说,除了进程之外,其他的一切均可看做文件. Linux系统中,不区分文件和目录.所谓的目录,只是记录了其他文件名的文件. 所以,如果当前目录下有一个文件a,那么使用 mkdir a 创建a目录的时候会出错. Linux将设备当做文件来处理,比如,当插入U盘的时候,把U盘看成IO设备,使用read,write,像操作文件一样读写设备. 在创建硬链接的时…
Linux 系统中,ELF动态链接文件被称为 动态共享对象(DSO,Dynamic Shared Object),简称共享对象 文件拓展名为".so" 动态链接下 一个程序可以被分成若干个文件:程序的主要部分 - 可执行文件 和 程序所依赖的共享对象(一个或多个.so文件),它们都可称作为程序的模块. 动态链接文件(共享对象)的装载地址为0x00000000:这并非工作时的实际地址,实际地址由装载器根据当前进程地址空间的空闲情况来动态分配一块足够大的虚拟地址空间给共享对象. 装载时重定…
网上下载的c3ddotnetapiref.chm文件, 使用mshcMigrate工具(2.0.0.75)转换成mshc文件, 添加到help viewer 2.2中, 有时会遇到这样的错误: 选择是, 帮助文档能打开 但个别链接打不开: 例如上图中的Feature就打不开,   对比能打开的链接和不能打开的链接, 发现以下区别: 能够打开的链接前面都有一个"method=page", 在原有的html文件中,链接中都没有"method=page", 我曾试着在原有…
腾讯云 对象存储V5版本 文档地址:https://github.com/tencentyun/cos-php-sdk-v5 调用简单文件上传方法: 返回数据如下 Array ( [data:protected] => Array ( [Expiration] => [ETag] => "ed076287532e86365e841e92bfc50d8c" [ServerSideEncryption] => AES256 [VersionId] => [SS…
本文为原创文章,转载请指明该文链接 文件目录结构如下 dynamiclibapp.c Makefile comm/inc/apue.h comm/errorhandle.c dynamiclib/Makefile dynamiclib/dynamiclib_add.c dynamiclib/dynamiclib_mul.c dynamiclib/inc/dynamiclibs.h dynamiclib/libs/ 1. dynamiclib目录 dynamiclib/inc/dynamiclib…
为了能够重用已有的C语言库,我们在使用Golang开发项目或系统的时候难免会遇到Go和C语言混合编程,这时很多人都会选择使用cgo. 话说cgo这个东西可算得上是让人又爱又恨,好处在于它可以让你快速重用已有的C语言库,无需再用Golang重造一遍轮子,而坏处就在于它会在一定程度 上削弱你的系统性能.关于cgo的种种劣迹,Dave Cheney大神在他的博客上有一篇专门的文章<cgo is not Go>,感兴趣的同学可以看一看.但话说回来,有时候为了快速开发满足项目需求,使用cgo也实在是不得…
linker对链接顺序要求很严格,如果顺序有误,多半就会报undefined reference to xxxxxx的错误 文件目录: 代码: main.cpp #include "Test.h" using namespace std; int main() { Test::testLiftOff(); ; } Test.cpp #include "Test.h" #include "LiftOff.h" #include <zthrea…
使用过Keil的同鞋都知道,现在Keil中默认可以输出.axf的调试文件和可以通过钩选输出的.hex可执行文件,没有bin(二进制)文件的输出选项.可是偏偏某些时候需要或者习惯性的使用.bin文件来进行烧写,下面各举一例: 1. 一直使用ADS的用户习惯性的使用.bin文件: 2. 某些烧写器带的应用软件只支持.bin文件: 3. 正如笔者遇到的情况,我在使用STM32公司提供的网络更新固件程序的例程时,需要用到.bin文件(.hex文件通过网络更新后遇到某些问题,而且用Hex2Bin软件转换后…
MS文档 https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/mklink 命令参数 mklink [[/d] | [/h] | [/j]] <Link> <Target> 参数 参数 描述 / d 创建目录符号链接.默认情况下,mklink会创建文件符号链接. /H 创建硬链接而不是符号链接. / J 创建目录连接. 指定正在创建的符号链接的名称. 指定新符号链接引用的路径…
清除keil编译生成的中间文件,减小项目体积. keykill.bat del *.bak /s del *.ddk /s del *.edk /s del *.lst /s del *.lnp /s del *.mpf /s del *.mpj /s del *.obj /s del *.omf /s ::del *.opt /s ::不允许删除JLINK的设置 del *.plg /s del *.rpt /s del *.tmp /s del *.__i /s del *.crf /s d…
在说明Linux的.a..so和.o文件关系之前,先来看看windows下obj,lib,dll,exe的关系 windows下obj,lib,dll,exe的关系 lib是和dll对应的.lib是静态链接库的库文件,dll是动态链接库的库文件.     所谓静态就是link的时候把里面需要的东西抽取出来安排到你的exe文件中,以后运行你的exe的时候不再需要lib.    所谓动态就是exe运行的时候依赖于dll里面提供的功能,没有这个dll,你的exe无法运行.         lib,dl…
本文为原创文章,转载需指明该文链接 1.代码目录结构如下: comm/ comm/inc/apue.h  3 atexit.c Makefile  5 staticlib/lib/ staticlib/inc/staticlibs.h staticlib/staticlib_add.c  9 staticlib/staticlib_mul.c staticlib/Makefile 2.目录 staticlib/lib/ 是用来盛放静态库文件的——libmytest.a,在编译静态库之前该目录是空…