linuxC语言学习
hjf161105
业精于勤荒于嬉,行成于思毁于随
展开
-
LINUX创建文件和目录的默认权限
在linux中,一位用户在创建文件和目录时,对其具有的权限都是一样的,如需更改,需要chmod命令做相应的更改。为什么?其实是权限掩码起作用了。 权限掩码的作用就是规范初创文件和目录时候的权限设置,免去了创建后再次修改权限的问题。因此,权限掩码的设置需要合理。 1、查看用户的权限掩码 命令:umask 示例@ubuntu:~/work$...转载 2018-11-23 16:04:43 · 11149 阅读 · 0 评论 -
Centos上用c语言连接mysql
本文转自:http://www.ithao123.cn/content-42508.html我的环境为Centos 6.4, mysql版本是5.1.171) 安装mysql:yum install mysql*2)安装mysql-devel:yum install mysql-devel3)进入root用户:su r转载 2017-03-28 20:46:26 · 1527 阅读 · 0 评论 -
Tcp C/S架构实现聊天室(链表管理在线用户)(客户端)
/*********************************************************************File Name: tcp_net_socket.hAuthor: date:Description: Fuction List: ***原创 2017-01-27 23:14:06 · 1378 阅读 · 0 评论 -
Tcp C/S架构实现聊天室(链表管理在线用户)(服务器)
/*********************************************************************File Name: tcp_net_socket.hAuthor: date:Description: Fuction List: ***原创 2017-01-27 23:10:16 · 1706 阅读 · 1 评论 -
这几天写链表版本的聊天室的感悟
这几天一直在做链表版本的聊天室,本来前天这个聊天室就应该完成的,但因为一个小错误,找了两天时间,想尽各种办法都没有搞定,知道刚才我才找到,当我知道真相的那一刻,真的有种想狠狠抽自己一巴掌的感觉。 错误:在服务器端的处理注册会员和更改个性签名的时候,总是出现段错误,然后我也用gdb调试了,也找到了错误的位置,gdb给我的结果是:read(cfd, &userInfo, sizeof(userI原创 2017-01-27 23:06:16 · 462 阅读 · 0 评论 -
Tcp C/S架构实现聊天室(数组管理在线用户)(服务器)
这几天一直在做聊天室,昨天把它做完了,但是服务器是用结构体数组实现的,虽说有些复杂化了,但也是我最开始想到的一种方法,并将之实现了,今天开始做链表来实现管理在线用户,感觉比结构体数组简洁多了。/*********************************************************************File Name: tcp_ne原创 2017-01-24 22:49:52 · 1294 阅读 · 0 评论 -
Tcp C/S架构实现聊天室(数组管理在线用户)(客户端)
这篇博客是上一篇的另外一半,客户端的实现,还是有些bug没有调试好,这两天在重新写链表管理的服务器,我打算重新考虑一下客户端的界面显示,收发消息实现的机制。/*********************************************************************File Name: tcp_net_socket.hAuthor:原创 2017-01-24 22:54:38 · 637 阅读 · 0 评论 -
对这一阶段C语言的总结
最近做完了聊天室的项目(前两篇文章),C语言基础的学习阶段也算是告一段落了,但我对C语言还是只是一个入门,就像一个工具,我现在只是了解、会初步使用它了,但并没有达到如臂挥使的地步,今后还需要对C语言进行更深入的学习,今天我就讲一下我个人学到现在对C语言的认识,自己的理解,若有错误,还望指出,不甚感激。 首先是C语言整体的脉络,C语言包括哪些东西?哪些部分重要,哪些部分需要着重理解?这是我经常原创 2017-01-28 23:05:33 · 556 阅读 · 0 评论 -
这几天写聊天室遇到的困难
这几天一直在写聊天室项目,遇到了很多问题,有的解决了,有的还在努力解决中。这几天一直在家没有网,都没怎么写博客,今天就总结一下。 首先,在写之前一定要想好服务器和客户端之间的协议,一开始的时候没有想好协议,走了不少弯路。然后,服务器在接收到用户登录是要记录在线用户的数量和其名字,这个方面,我用了一个结构体usermanger,其中包含一个在线的标志位和用户的信息,但是我快做完的时候,其他人告原创 2017-01-17 21:50:27 · 791 阅读 · 0 评论 -
关于Linux下的密码输入*的问题
这几天一直在做一个聊天室的项目,昨天构思了一下协议和大概步骤,今天就开始正式写了。我先写了一个注册账号和一个登陆的功能,然后运行了一下,发现还行,没啥大问题。不过在客户端输入密码的时候,总感觉怪怪的,因为在输入密码的时候还是可以看到具体内容,感觉在隐私保护方面还是不太够。于是,我想能不能再输入密码的时候不显示具体内容,而是以******代替。接着,我上网查了好久资料,找到了一个叫做getch()的原创 2017-01-11 01:01:35 · 1829 阅读 · 0 评论 -
之前的通讯录进行文件保存
上次做完通讯录后,总是有点遗憾,就是没有把电话数据保存到本地,没有实质上的实现通讯录功能,今天,我把通讯录重新拿出来做了一次,对它进行文件保存。 做完之后,感觉其实很简单,就是在数据存入的时候,不要再添加结点到链表中了,直接把这个结构体数据保存到文件中,查看的时候就是从文件中把数据读出来,这个时候需要用到链表了,因为不知道文件中数据的数量,所以链表是一个不错的选择。读出来之后,再把链表打印一原创 2017-02-06 15:59:03 · 410 阅读 · 0 评论 -
两个客户端通过服务器通信(互发)(改进后)
今天把一月5号的那道题改进了一下,两个客户端之间可以循环发送和接受信息。创建两个客户端A,B,一个服务器。要求:客户端A,B都能传小写字母给服务器,服务器接收后转换成大写字母回传给对方客户端(A写的返回给B,B写的返回给A)。并且传回的信息马上能接收到(在read / write的时候,线程处于阻塞状态,此时如果服务器发消息给客户端,客户端如何马上接收呢?)提示:创建线程,一个线程原创 2017-01-07 20:24:23 · 1623 阅读 · 2 评论 -
四道蓝桥杯基础题
今天做了四道简单的蓝桥杯的基础题,再次练练感觉。/*********************************************************************File Name: 查找整数Author: date:Description: 问题描述原创 2017-01-06 23:41:08 · 857 阅读 · 0 评论 -
两个客户端通过服务器通信(互发)
创建两个客户端A,B,一个服务器。要求:客户端A,B都能传小写字母给服务器,服务器接收后转换成大写字母回传给对方客户端(A写的返回给B,B写的返回给A)。效果:客户端A处输入一个字母,客户端B输出一个大写字母。客户端B处输入一个字母,客户端A输出一个大写字母(可以添加说明printf()输入为 / 转换后输出为) 客户端A和B是同一个执行文件原创 2017-01-05 00:06:39 · 5291 阅读 · 3 评论 -
还是几道简答题
今天和昨天一样,又找了几道简答题,巩固一下前一段时间学习的成果,也对一些名词有了更深入的了解1.makefile的作用:makefile文件保存了编译器和连接器的参数选项,还表述了所有源文件之间的关系。创建程序(make程序)首先读取makefile文件,然后再激活编译器,汇编器,资源编译器和连接器以便产生最后的输出,最后输出并生成的通常的可执行文件.创建程序利用内原创 2016-12-19 22:59:25 · 273 阅读 · 0 评论 -
初步认识服务器和客户端
今天学了Linux服务器和客户端,感觉最主要的还是运用几个函数,对函数参数以及返回值的灵活应用,在主体的大方向上其实挺简单的。服务器 socket------>bind------>listen------>accept,而客户端则是 socket------>connect。#include #include #include #include #include #define原创 2016-12-26 23:06:16 · 350 阅读 · 0 评论 -
几道简单的简答题
今天做了几道简答题,检测一下自己对一些理论的掌握。简答题:1.什么是指针函数?什么是函数指针?并举例指针函数是返回值是指针类型的函数 例 char *push(int i)函数指针是指向函数的指针 char(*push) (int i)2.用变量a给出下面的定义a) 一个整型数b) 一个指向整型数的指针c) 一个指向指针的的指针原创 2016-12-18 22:00:24 · 442 阅读 · 0 评论 -
Linux中vimrc配置文件总结
在Linux中,vim是一个强大的文本编辑器,但是它本身并没有一些人性化的设置,比如说,语法高亮、显示行号等,现将Linux的vimrc配置文件总结一下,有需要的朋友可以参考一下。""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 显示相关原创 2017-04-14 22:39:17 · 794 阅读 · 0 评论 -
CentOS6.5安装Qt4.8.6+QtCreator2.6.1
本文转自:http://blog.csdn.NET/qq_21398167工作中需要用到Qt在Linux下做开发,公司提供的电脑安装的CentOS6.2,但是为了和windows下自己使用的QT版本一直,于是也选择安装了Qt5.1.0。但是在CentOS下刚开始是无法启动,经过自己努力(可以看我另外几篇关于CentOS下QT的文章)终于可以跑通了,但是却无法调试。不知道是不是因转载 2017-04-17 10:04:09 · 900 阅读 · 0 评论 -
Ubuntu14.04下配置Samba服务器,Win7总是无法访问
Samba服务器之前在centos上配置过了,最近在公司有两台电脑,一台win7,一台Ubuntu,但是配置了Samba服务器之后,win7一直无法访问,好不容易解决了,现将问题解决下。 首先是Samba的安装与配置,网上很多博客都有过介绍 1、首先同步源的索引,保证获取到最新的软件包。执行sudo apt-get update2、安装samba和samba-c...原创 2018-11-22 17:30:17 · 2219 阅读 · 0 评论 -
阿里云Ubuntu16.04搭建LAMP+私有云nextcloud
自从租了阿里云云翼服务器之后,一直想要搭建一个属于我自己的私有云,可以存放一些资料什么的,这两天一直在配置环境,绕了很多弯路,在网上查遍资料,出现一个有一个bug,然后一个一个解决,整整花了两天的时间才把nextcloud私有云搭建起来。 说句实在话,我对web和网络一知半解,对前后端是知之甚少,完全是摸索着学习。一开始,云栖社区文章说需要搭建LAMP的经典web环境,不过在云栖中介绍的主要原创 2017-12-20 20:01:42 · 7708 阅读 · 0 评论 -
亲测有效,解决Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) ";
最近租了一个阿里云云翼服务器,趁着自己还是一个学生,享受一下优惠。我租的是阿里云Ubuntu16.04版本的服务器,在搭建mysql的时候,一开始是可以运行的,由于某次手抽,把mysql的套接字文件不小心删除了,然后无论怎么卸载重装,都出现了这个问题:root@iZufkfljcZ:~# mysql -uroot -pEnter password: ERROR 2002 (HY000):原创 2017-12-20 10:50:13 · 615599 阅读 · 113 评论 -
函数指针和指针函数
函数指针和指针函数经常是很多初学者感到疑惑的地方,其实这两个是完全不同的概念。指针函数 指针函数就是返回值为指针类型的函数。函数指针 指针函数的概念其实挺简单的,关键是函数指针,这个概念之前一直是我头疼的地方,每次看函数指针都是一知半解。看函数指针的时候,出现的最多的是typedef和函数指针一起出现: typedef return_type (*def_type)(原创 2017-08-04 20:32:47 · 317 阅读 · 0 评论 -
浅析三种特殊进程:孤儿进程,僵尸进程和守护进程.
其实有时想想linux内核的设计也蕴含着很多人生哲学,在linux中有这么几个特殊进程中,我们一开始见到它们的名字可能还会觉得很诧异,但在了解完了原理后,我们仔细想想,这样的命名也不无道理!下面我就给大家分别介绍一下这三种特殊的进程! 1.孤儿进程 如果父进程先退出,子进程还没退出那么子进程将被 托孤给init进程,这是子进程的父进程就是init进程(1号进程).其实还是很好理解的.转载 2017-08-02 13:41:07 · 448 阅读 · 0 评论 -
一步步教你使用云端服务器yeelink远程监控
本文转自:http://home.eeworld.com.cn/my/space-uid-487728-blogid-236541.html随着物联网逐渐进入我们的生活,我们需要随时随地查看远端的设备运行状态及对设备进行控制,Yeelink为我们提供了一个很好的云端服务器平台,设备通过网络连接到Yeelink服务器,上传本地检测数据,电脑或手机通过手机访问即可看到设备数据,网上也有转载 2017-07-16 14:11:36 · 3148 阅读 · 0 评论 -
Centos7升级gcc学习笔记
转载:Centos7升级gcc学习笔记概述最近在学习《深入应用C++11-代码与优化与工程级应用》,我的gcc版本是gcc-4.8.5是支持C++11的,但是我在作者的github上看了一些C++例子,其中有些是C++14的语法,我的gcc版本并不支持,之前安装了ubuntu16.04LTS,该系统的gcc版本是5.3.1这个是支持C++14的,所以我打算用ubuntu16.0转载 2017-06-14 21:31:12 · 2260 阅读 · 0 评论 -
CentOS7下Samba的安装与配置
一、Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资转载 2017-06-25 19:57:26 · 407 阅读 · 0 评论 -
深层揭密extern "C"
1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有转载 2017-07-11 13:55:16 · 229 阅读 · 0 评论 -
VMWare虚拟机Bridged类型网卡ping不通的原因和解决办法
VMWare虚拟机下 Bridged类型网卡 可以使虚拟机和主机处于同一物理网络内, 纯粹从网络连接上来讲, 此时的虚拟机和主机本身已经没有任何区别, 所以非常适合用于在虚拟机中基于网络对嵌入式系统的进行调试开发.但当主机上存在多个物理网卡或虚拟网卡时, 一旦其中的某个网卡发生断开或禁用/启用之类的操作, 则虚拟机中Bridged类型网卡的IP地址往往就会出现ping不通的现象, 一旦转载 2017-07-01 08:40:52 · 1029 阅读 · 0 评论 -
nfs配置以及System Error No route to host解决
1、开启portmap和nfs服务 service portmap start service nfs start2、将要共享的目录写到exports文件中 假设共享的目录为 /sharedisk/ vim /etc/exports 在exports文件中添加 /sharedisk 192.168.0.0原创 2017-06-29 15:08:10 · 6723 阅读 · 1 评论 -
HTTP协议及过程描述
HTTP 协议定义服务器端和客户端之间文件传输的沟通方式。目前HTTP协议的版本是Http1.1。RFC 2616描述了HTTP协议的具体信息。 这个协议已经成为浏览器和Web站点之间的标准。 当我上网的时候底层是如何进行交互的? 当访问者点击一个超链接的时候,将会给浏览器提交一个URL地址。通过这个URL地址,浏览器便知道去链接那个网站并去取得具体的页面文件(也可能是一张转载 2017-06-07 23:11:55 · 2622 阅读 · 0 评论 -
TCP协议三次握手过程分析
TCP协议三次握手过程分析TCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(rese转载 2017-06-07 22:04:02 · 262 阅读 · 0 评论 -
LinuxC/C++网络爬虫(1)
网络爬虫(Web Crawler),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本,有时候又称网络蚂蚁,是搜索引擎(例如:Baidu、Google……)的重要组成部分。随着Internet的快速发展,网站数量剧增意味着后台数据量的剧增,在这样的情况下,用户能不能通过搜索引擎来及时地得到包含他要查找内容的网页,能不能实现定向搜索……,这些对传统的搜索引擎必然是个巨大的考验。以上这些都是网络原创 2017-06-04 19:37:58 · 2937 阅读 · 0 评论 -
搜集的几道C语言和数据库题目
今天写了几道C语言和数据库的题目。笔试题(A卷)一.填空题(20’)1.sql中,用__drop ___关键字删除表。(4分)2.sql中,用_ORDER BY _关键字进行排序。(4分)3.表明一个对象或变量在初始化后不能被修改的关键字是__const__。(4分)4.对于byte型变量,内存分配_____2____个字节。(4分)原创 2016-12-28 23:50:09 · 423 阅读 · 0 评论 -
两道蓝桥杯题目
今天写了两道蓝桥杯题目,感觉还是有些吃力,对一些解决问题的算法还是不太了解,还是需要更多的积累,需要在平时的时候多思考,多练习。/**********************************************************File Name: Author: xxx /****************************原创 2016-12-17 22:42:58 · 482 阅读 · 0 评论 -
一个服务器与两个客户端的通信
创建两个客户端A,B,一个服务器。要求:客户端A 传小写字母给服务器,服务器接收后转换成大写字母回传给客户端B。效果:客户端A处循环输入一个字母,客户端B输出一个大写字母。(可以添加说明printf()输入为 / 转换后输出为)/*********************************************************************File Na原创 2017-01-03 20:50:19 · 4893 阅读 · 1 评论 -
重新梳理一下C语言基本数据类型
今天主要梳理一下关于参与C语言的基本数据类型。 首先是常用的单位介绍:位、字节和字。位是最小的存储单位,它可以容纳2个值,0或1。1个字节均为8位。对于8位微机,一个字8位,对于16位机,一个字16位,32位机字32位。 数据的储存方式:整数以二进制数字存储。浮点数将一个数分为小数部分和指数部分并分别储存。 C语言的基本数据类型有基本类型、构造类型、指针原创 2016-11-15 18:48:43 · 666 阅读 · 0 评论 -
这个星期的错误总结反思
今天把这个星期遇到的错题整理一下。错题1: #!/bin/bash for file in *.c do leftname=basename $file.c 错误: 少了倒引号 mv $file $leftname.txt done 总结:在shell里面倒引号原创 2016-11-18 22:35:16 · 526 阅读 · 0 评论 -
整理一下几个关键字
今天学了几个关键字,了解了它们的用法,在接下来的学习中还需要继续熟悉练习。static: 1、全局静态变量:作用范围局限于它的源文件,只有本文件内的代码才可以访问,在其他文件内不可见。 2、局部静态变量:局限于特定函数,但出作用于不释放,在函数体内的静态变量的值也能够维持。 3、静态函数:作用范围仅限于它的源文件,只有本文件内才能调用,函数名在其他文件不可见。原创 2016-11-30 22:41:53 · 293 阅读 · 0 评论 -
重新梳理关于shell脚本编程
2016年11月13日 星期一 晴 今天梳理一下关于shell脚本的编程。 shell的基本元素:#!/bin/bash 指出类型shell的类型、# 注释、变量和控制。如果你有一系列经常使用的Linux命令,你可以存储在一个文件中。s原创 2016-11-14 19:32:29 · 344 阅读 · 0 评论