c语言
echo_hello1
这个作者很懒,什么都没留下…
展开
-
线性最小二乘法 c语言实现
公式用的出自https://blog.csdn.net/hezhefly/article/details/79517684?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-5.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogComm原创 2021-10-18 18:45:33 · 370 阅读 · 0 评论 -
算法性能优化的注意点
memset是大家常用的函数,而且一般的编程书籍都会谆谆告诫大家:申请内存后要初始化,防止使用未经初始化的内存导致不可预知的结果,所以我们一般都会按照如下方式编写代码:char* buffer = (char*)malloc(1024);memset(buffer, 0x00, 1024);代码看起来很标准,也很美观,但这里却隐藏着一个陷进:memset的性能并不高!如果你的内存在1K左右,可能还察觉不到,但如果是1M,那性能影响就很明显了,我们来看实测数据(Redhat EL5 Inte.转载 2021-05-31 15:02:47 · 295 阅读 · 0 评论 -
基于linux环境和ethecat的igh库控制汇川620N的主站代码
#include "ecrt.h"#include <stdio.h>#include "ethercatdef.h"#include "initInovance.h"#include <errno.h>#include <signal.h>#include <stdio.h>#include <string.h>#include <sys/resource.h>#include <sys/time.h>.原创 2020-09-15 17:12:50 · 2821 阅读 · 6 评论 -
ethercat master用户程序初始化
(1)定义配置信息键入命令:ethercat cstruct 得到从机的配置信息,复制下来(我用的从机是简单的io开发板)信息如下:chenpeng@chenpeng-M219F-6C:/lib/modules$ ethercat cstruct/* Master 0, Slave 0, "ServoDrive_FSMC" * Vendor ID: 0x00000009 * Product code: 0x26483052 * Revision number:...原创 2020-09-02 09:46:17 · 1053 阅读 · 0 评论 -
用宏定义多个语句时的易错点
比如我定义了#define DEBUG(str) printf( "error:%s\nin file:%s Line:%d\n", (str) , __FILE__ ,__LINE__ ) ;\ fflush(stdout); \ decodeError = 1那么在使用 DEBUG宏时,需要注意是否会产生歧义比如if(...){...原创 2020-08-11 17:40:23 · 318 阅读 · 1 评论 -
三点求圆算法
圆的一般方程,三个点确定三条方程,为了求出四个未知数再写一个在圆上的点凑成行列式由克拉默法则得,齐次方程有非零解,那么行列式为零:把行列式按第一行展开后可以得出这个行列式怎么算就不说了。...原创 2020-06-09 16:23:44 · 2124 阅读 · 2 评论 -
cunit库的README例子错误
我下载了cunit库,原作者的源码在https://gitlab.com/cunity/cunit/-/tree/master我下载的git 提交的版本:Author: Chris Doherty <chris.doherty@ncipher.com>Date: Tue Feb 25 15:27:40 2020 +0000头文件中重复定义了四个函数指针,我修改后...原创 2020-03-16 17:15:26 · 165 阅读 · 0 评论 -
使用gcc编译和链接的笔记记录
编译和链接时都加上-pthread,而不是在链接的时候加上-lpthread链接时如果出现 undefined reference to xxx 可能是xxx符号写成了静态变量或函数原创 2020-02-28 10:43:27 · 148 阅读 · 0 评论 -
表达式的处理
做表达式的运算时,一般把中缀表达式转换成后缀表达式比如 a = b + c转换成 a b c + =译码时先做词法分析,(就是把表达式中的每个基本部分输入到栈中,我分为运算符和变量两种元素)按照中缀表达式的顺序,a = b + c之后转换成后缀表达式,:遇到数字直接入后缀表达式栈,(同时事先定义好运算符的优先级,定义一个暂时的符号栈 ),遇到运算符就将其与符号栈栈顶的运算符优...原创 2020-01-18 10:01:47 · 231 阅读 · 0 评论 -
调试第三方库的心得
编译选项 -l 库名(小写的L没有lib前缀,没有so后缀) -L库的路径(不包括文件名) -I(大写的i头文件路径)多数的第三方都库支持64位但是不支持32位环境,我装的pcre2-posix的库也可以在32位环境编译,但是运行是会报段错误。程序链接时调用的动态库不一定就是头文件所对应的。比如我在源文件里只包含了regex.h头文件,没有包含pcre2-posix的头文件(这两个...原创 2020-01-03 14:10:14 · 171 阅读 · 0 评论 -
posix标准的正则表达式缺陷
posix 标准正则只支持标准和扩展格式的正则,有些高级功能无法实现,比如非贪婪模式,正向断言,没有定界符等等。可以采用第三方的库来取代。我从网上找了pcre2库,它兼容perl标准的正则表达式。源码下载地址:https://ftp.pcre.org/pub/pcre...原创 2019-12-17 18:26:44 · 191 阅读 · 0 评论 -
如何计算数组的地址
设: 数组定义为A[ , …]现在查找数组A[ , …] (其中 对任意n 都存在>)数组内每个元素的地址大小为 size则其地址为...原创 2019-12-12 16:04:27 · 1165 阅读 · 0 评论 -
unterminated conditinal directive的错误
碰到这种错误,而且不影响编译,可以编译成功的,十有八九是头文件相互包含了。一般没有问题,但是一旦在其中一个头文件中引用了另一个文件的类型或变量就会报错,提示找不到变量。解决方法,在c文件中包含。...原创 2019-09-03 18:28:56 · 821 阅读 · 0 评论 -
头文件相互包含的错误(转载)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.csdn.net/Ronnie_Hu/article/details/78694246考虑以下情况:1)secret.h#ifndef _SECRET_H_#define _SECRET_H_#include "pub_header.h"...转载 2019-09-03 17:26:38 · 401 阅读 · 0 评论 -
gcc 4.04 正则表达式 中碰到的麻烦
^\\s*(\\-|\\+)?(\\d)+(\\.\\d+)?\\s*$ 这个正则表达式匹配带正负号的小数 包括前后的空格,用regexec返回失败改为^\\s*(\\-|\\+)?([0-9])+(\\.[0-9]+)?\\s*$ 返回成功 测试了一下 regexec不认识\d这个转义符号。...原创 2019-08-05 11:23:52 · 354 阅读 · 0 评论 -
error: No rule to make target 的解决方法
Qt下的make规则找不到这个文件的编译,说明你移动了工程目首先下的文件。找到对应的makefile文件,在QT下面就是.pro文件了,文件中有如下规则SOURCES += main.cpp\ 。。。。。。 。。。。。。和makefile类似,source依赖于后面的文件,所以确保每一个文件的路径以及该文件都确实存在且正确,这样就可以解决编译出错的问题了。...原创 2019-07-22 18:35:38 · 34669 阅读 · 1 评论 -
c语言中的gets()被跳过执行的问题
我遇到的问题是在gets之前执行了一次scanf的函数,回车的\0字符作为结束符结束了scanf函数,但是回车符没有写入scanf中,所以后面添加一个getchar函数来接收回车符就不会影响后面的数据接收了。...原创 2019-07-20 09:31:21 · 2696 阅读 · 1 评论