c语言
文章平均质量分 76
shujuliu818
Where my heart get peace, where my self get home.
展开
-
linux 下对 mysql 的操作(书到用时方恨少)
今天在项目中要把加密之后的密文存入数据库,所以临时简洁的研究了一下linux下对mysql的操作。1.登录数据库用到的命令:$ mysql -u root -p输入之后会提示对应用户root的密码,如图:当输入密码时总是提示如下:ERROR1698(28000):Access denied for user root@localhost解决方法如下链接:https://www.cnblogs.com/cpl9412290130/p/9583868.html这位大佬已经解决原创 2021-05-20 20:59:03 · 139 阅读 · 0 评论 -
gdb基本命令(非常详细)
gdb基本命令本文介绍使用gdb调试程序的常用命令。主要内容:[简介][举例][其他][简介]=============GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。同时GDB也具有例如ddd这样的图形化的调试端。一般来说,GDB主要完成下面四个方面的功能:(1)启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。(2)可让被调试的程序...转载 2021-03-23 13:19:58 · 4835 阅读 · 0 评论 -
ubuntu16.04上安装bochs
ubuntu16.04上安装bochs需要用到的东西:1.bochs-2.6.8.tar.gz2.linux-0.12-080324/编译安装bochs1.安装依赖包sudo apt-get install bochs vgabios bochs-x bochsbios bochs-doc xorg-dev bochs-sdl2.修改 .conf.linux文件修改原创 2017-03-11 15:03:33 · 5209 阅读 · 0 评论 -
Ubuntu16.10偶遇linux0.11
转自:http://www.mamicode.com/info-detail-1321279.html标签:Ubuntu15.10邂逅linux0.11编译环境Ubuntu 15.10gcc 5.2.1问题集锦1.as86 -0 -a -o boot/bootsect.o boot/bootsect.s make: as86:命令未找到 Make转载 2017-03-09 19:12:28 · 1654 阅读 · 0 评论 -
linux IPC--管道
管道是一种把两个进程之间的标准输入和标准输出连接起来的机制,从而提供一种让多个进程间通信的方法,当进程创建管道时,每次都需要提供两个文件描述符来操作管道。其中一个对管道进行写操作,另一个对管道进行读操作。对管道的读写与一般的IO系统函数一致,使用write()函数写入数据,使用read()读出数据。#includeint pipe(int filedes[2]);返回值:成转载 2016-10-11 10:48:18 · 313 阅读 · 0 评论 -
Ubuntu下虚拟机Bochs安装问题解决汇总
转自:http://www.linuxidc.com/Linux/2011-07/38370.htm最近看《一个操作系统的实现》,在Ubuntu下虚拟机下安装bochs时候出现了N多的错误,现把解决办法收集记录以下(1) 出现1 “ERROR: X windows gui was selected, but X windows libraries were not found.转载 2017-03-10 22:00:59 · 863 阅读 · 0 评论 -
关于/usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section
转自:http://cchxm1978.blog.163.com/blog/static/35428253201091382026697/最近编译程序时遇到了错误提示:/usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in /tmp/ccKZsHdg转载 2017-03-07 14:22:49 · 3018 阅读 · 0 评论 -
Ubuntu安装汇编器as86和链接器ld86
1、打开终端(Terminal);假如未设置root密码则需先设置才行。关于修改root密码的方法请参考:http://blog.csdn.net/moon_prince2013/article/details/484369052、(将当前权限提升到root权限)输入 su root在出现的提示“Password:”末尾处输入root密码并回车如果没有开通转载 2017-03-08 22:09:38 · 981 阅读 · 1 评论 -
netlink---Linux下基于socket的内核和上层通信机制(上)
我最近有一个项目需求,需要在Linux网卡驱动中加入一个自己的驱动,实现在内核态完成一些报文处理(这个过程可以实现一种零COPY的网络报文截获),对于复杂报文COPY下必要的数据交给用户态来完成(因为过于复杂的报文消耗CPU太大,会导致中断占用时间太长)。因此需要一种内核和用户态配合的通信机制,尝试了很多方式都不太理想,最后采用netlink+内存映射的模式很好的解决了这个问题。Netlink是一转载 2017-02-22 10:06:47 · 500 阅读 · 0 评论 -
pthread_attr_init线程属性
一.线程属性 线程具有属性,用pthread_attr_t表示,在对该结构进行处理之前必须进行初始化,在使用后需要对其去除初始化。我们用pthread_attr_init函数对其初始化,用pthread_attr_destroy对其去除初始化。1.名称::pthread_attr_init/pthread_attr_destroy转载 2017-02-05 16:03:00 · 222 阅读 · 0 评论 -
SQLite3 C语言API入门
转自:http://www.blogjava.net/xylz/archive/2012/09/25/388519.html下载SQLite3:我们下载sqlite源码包,只需要其中的sqlite3.c、sqlite.h即可。最简单的一个创建表操作:#include #include "sqlite3.h"int main(int argc,char *arg转载 2016-12-13 16:55:42 · 646 阅读 · 0 评论 -
C语言中几个关键字的作用
C语言中关键字一共有32个,比如:int,char,const等等,这里,我挑选以下几个来解释一下他们的作用:1.static:(1)隐藏:当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,其它的源文件也能访问。(2)static的第二个作用是保持变量内容的持久。存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量...转载 2018-09-14 10:45:33 · 1483 阅读 · 0 评论 -
openwrt构建过程探索
参考网站:http://wiki.openwrt.org/doc/howto/buildroot.exigence需要下载必要的库文件,编译器等。。。 1 首先要获得openwrt的源码,参考openwrt.org官方网站的内容 https://dev.openwrt.org/wiki/GetSource其中trunk为开发版本,最新的稳定版为12.09 branch (Attit...转载 2018-12-26 16:06:59 · 654 阅读 · 0 评论 -
通过curl得到http各阶段的响应时间
转自:https://blog.csdn.net/hqzxsc2006/article/details/50547684curl的部分时间等变量注释:url_effective The URL that was fetched last. This is most meaningful if you've told curl to follow location: headers.fil...转载 2019-01-15 11:16:35 · 956 阅读 · 0 评论 -
程序流程图画法复习
1、程序流程图的作用 程序流程图的作用程序流程图的作用程序流程图的作用 程序流程图是人们对解决问题的方法、思路或算法的一种描述。 流程图的优点: (a)采用简单规范的符号,画法简单; (b)结构清晰,逻辑性强; (c)便于描述,容易理解。2、流程图采用的符号 三种循环的...转载 2019-01-09 10:33:13 · 28997 阅读 · 0 评论 -
使用json-c 体会
转自:https://blog.csdn.net/qimi123456/article/details/80426474json-c 库中是在嵌入式开发中常用的库。因为很多地方都以json数据数据交互协议, 尤其嵌入式web数据交互时通常会用到json格式, 因此如果需要在产品端进行json数据解析 , json-c 是一个比较不错的选择。本次我主要是对json数据的解析 , 主要是整型 , ...转载 2018-12-24 20:07:48 · 543 阅读 · 0 评论 -
json-c 0.12 使用介绍
转自:https://blog.csdn.net/mengyafei43/article/details/38415665常用函数:1、json结构体初始化struct json_object* json_object_new_object() 2、向json结构体中添加key-value对void json_object_object_add( struct json_obj...转载 2018-12-24 20:00:01 · 854 阅读 · 0 评论 -
EDNS
转自:https://www.cnblogs.com/cobbliu/p/3188632.html随着业务的复杂化和多样化,RFC1035中定义的DNS消息格式和它支持的消息内容已经不足以满足一些DNS服务器的需求,于是,RFC2671中提出了一种扩展DNS机制EDNS(Extension Mechanisms for DNS),并在其中推荐了一种传递包大小的EDNS0。我将EDNS0中的一些...转载 2018-12-18 16:39:38 · 2022 阅读 · 0 评论 -
linux系统调用之-fork、wait、waitpid
转自:https://blog.csdn.net/hzrandd/article/details/50774928在前面的文章中,我们已经了解了父进程和子进程的概念,并已经掌握了系统调用exit的用法,但可能很少有人意识到,在一个进程调用了exit之后,该进程并非马上就消失掉,而是留下一个称为僵尸进程(Zombie)的数据结构。在Linux进程的5种状态中,僵尸进程是非常特殊的一种,它已经放弃...转载 2018-12-11 19:37:20 · 650 阅读 · 0 评论 -
GDB 命令详细解释
转自:https://blog.csdn.net/hzrandd/article/details/50849338GDB 命令详细解释 Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具。 和所有常用的调试工具一样,gdb提供了以下功能: # 监视程序中变量的值 # 在...转载 2018-12-11 18:51:24 · 203 阅读 · 1 评论 -
Linux curl命令详解
命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。语法:# curl [option] [url]常见参数: -A/--user-agent <string> 设置用户代理发送给服务器-...转载 2018-12-28 02:51:39 · 175 阅读 · 0 评论 -
libcurl的使用
转自:http://blog.chinaunix.net/uid-192452-id-5784707.htmlAccording to documentation: to verify host or peer certificate you need to specify alternate certificates with the CURLOPT_CAINFO option or a c...转载 2018-12-28 02:27:27 · 48 阅读 · 0 评论 -
Makefile传参数
有时我们不想反复的修改程序,而希望通过 Makefile 传参数来编译程序不同的模块。如下面的例子:#include #include int main(void){ int i=9;#ifdef DEBUG i=1;#else i=0;#endif printf("i=%d\n", i); r原创 2016-11-15 16:09:32 · 4196 阅读 · 0 评论 -
关于APUE第十六章的客户端程序返回Servname not supported for ai_socktype错误的解决方法
转自:http://blog.csdn.net/VCCTor/article/details/50713216出现这种错误的原因是因为没有给服务分配端口号,可以手动添加端口号,就是在/etc/services文件里加上一行:使用vi /ect/services按住Shift+G跳到最后一行,按住i进入插入模式,进行编辑 ruptime 39001/tcp ruptime 是转载 2016-10-19 16:52:00 · 10072 阅读 · 0 评论 -
Makefile 嵌套执行
转自:http://blog.csdn.net/shallnet/article/details/37595465?utm_source=tuicool&utm_medium=referral 【版权声明:转载请保留出处:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】在大一些的项目里面,所有源代码不会只放在同一个目录,一般转载 2016-06-03 17:27:21 · 1105 阅读 · 0 评论 -
指针函数函数指针的区别
转自:http://www.cnblogs.com/gmh915/archive/2010/06/11/1756067.html一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(转载 2016-05-17 17:00:21 · 211 阅读 · 0 评论 -
指针函数 &函数指针
int (*fun(int))(int)分析以上代码 int ( *fun(int) ) (int) 其中 *fun(int) 是一个指针函数,它本质是一个函数。函数返回类型是某一类型的指针。首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变原创 2016-05-17 16:29:51 · 263 阅读 · 0 评论 -
http://blog.csdn.net/xiahouzuoxin/article/details/10163109
====== 首先使用typedef定义回调函数类型 ====== [cpp] view plain copy print?typedef void (*event_cb_t)(const struct event *evt, void *userdata); typedef void (*event_cb_t)(const struct转载 2016-05-17 15:33:22 · 276 阅读 · 0 评论 -
Linux下gcc编译生成动态链接库*.so文件并调用它
动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一点帮助。1、动态库的编译下面通过一个例子来介绍如何生成一个动态库。这里有一个头文件:so_test.h,三个.c文件:test_a.c、test_b.c、test_c.c,我们将这转载 2016-05-17 15:27:28 · 264 阅读 · 0 评论 -
Cunit单元测试
转自:http://www.cnblogs.com/onlytiancai/p/3847524.html安装CUnitwget http://sourceforge.net/projects/cunit/files/latest/downloadtar xf CUnit-2.1-3.tar.bz2cd CUnit-2.1-3./bootstrap./configur转载 2016-05-04 15:42:03 · 841 阅读 · 0 评论 -
C语言中fflush函数的使用方法
此函数包含在stdio.h头文件中,用来强制将缓冲区中的内容写入文件。函数原型:int fflush(FILE *stream) ;函数功能:清除一个流,即清除文件缓冲区,当文件以写方式打开时,将缓冲区内容写入文件。也就是说,对于ANSI C规定的是缓冲文件系统,函数fflush用于将缓冲区的内容输出到文件中去。函数返回值:如果成功刷新,fflush返回0。指定的流没有缓冲区或转载 2016-02-29 10:12:34 · 1894 阅读 · 0 评论 -
c语言中变量前的static的作用
1、静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1#include void fn();static int n; //定义静态全局变量void main(){ n=20; coutfn();}void fn(){ n++;cout转载 2016-02-19 15:58:28 · 2019 阅读 · 1 评论 -
整数转换为字符串
itoa 并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。标准库中有sprintf,功能比这个更强,用法跟printf类似:char str[255];sprintf(str, "%x", 100); //将100转为16进制表示的字符串。下列函数也可以将相应类型的整数转换为字符串:#include #include原创 2014-12-04 18:20:06 · 539 阅读 · 0 评论 -
关于time函数
声明:本文章主题来自 http://blog.sina.com.cn/s/blog_59a9e96201019o9f.html#include #include #include int main(int argc, char *argv[]){ struct tm *pt; int cur_sec, cur_min, cur_hour, cur原创 2014-12-04 13:54:00 · 490 阅读 · 0 评论 -
C语言中的static 详细分析
转自:http://blog.csdn.net/keyeagle/article/details/6708077/google了近三页的关于C语言中static的内容,发现可用的信息很少,要么长篇大论不知所云要么在关键之处几个字略过,对于想挖掘底层原理的初学者来说参考性不是很大。所以,我这篇博文博采众家之长,把互联网上的资料整合归类,并亲手编写程序验证之。 C语言代转载 2016-06-14 16:33:29 · 231 阅读 · 0 评论 -
pthread_create主线程与创建的新线程之间退出关系
转自:http://blog.csdn.net/xiajun07061225/article/details/8976850我们在一个线程中经常会创建另外的新线程,如果主线程退出,会不会影响它所创建的新线程呢?下面就来讨论一下。 1、 主线程等待新线程先结束退出,主线程后退出。正常执行。实例代码:[cpp] view plain cop转载 2016-07-12 11:03:17 · 634 阅读 · 0 评论 -
使用rdtsc指令,测量程序的运行速度
转自:http://blog.chinaunix.net/uid-24774106-id-2779245.html 最近发现了rdtsc指令,可以获取CPU指令周期数,喜出望外,wiki了下相关的知识,写了代码利用CPU周期来测量程序的运行时间。 rdtsc指令返回的是自开机始CPU的周期数,返回的是一个64位的值EDX:EAX(高32在EDX,低32位在EAX)。OK,转载 2016-08-16 16:26:18 · 1439 阅读 · 0 评论 -
linux多线程--线程池
转自:http://blog.csdn.net/wallwind/article/details/7669132第一部分为头文件/* * threadpool.h * * Created on: Oct 17, 2016 * Author: opencl */#ifndef __THREADPOOL_H_#define __THREADPOOL_H_转载 2016-10-17 11:15:53 · 283 阅读 · 0 评论 -
linuxIPC--UNIX域套接字
转自:http://blog.csdn.net/todd911/article/details/202857111.非命名的UNIX域套接字UNIX套接字用于在用一台机器上运行的进程之间通信。UNIX套接字比因特网域套接字的效率更高。UNIX与套接字提供和数据报两种接口,UNIX域数据报服务是可靠的,就不会丢失消息也不会传递出错。UNIX域套接字是套接字和管道之间的混合物。为了转载 2016-10-25 15:41:24 · 387 阅读 · 0 评论 -
linux IPC--信号量
信号量分有名和无名信号量。它们的区别和管道及命名管道的区别类似。有名信号量要求创建一个文件,而无名信号量则直接保存在内存中。一,Posix信号量Posex信号量接口总结(见下图):上面一行是有名信号量,可于fifo相类比,其值保存在文件中,可用于进程和线程同转载 2016-10-11 10:35:05 · 285 阅读 · 0 评论