centos下串口自发自收c++代码实现

各位大神求助 搞了两周了一直是一个问题 我是菜鸟 希望大家指点指点
我的问题是我想让串口(usb转rs232)实现自发自收功能 但每次read只能读到一个字符
在write后面加个延时函数 sleep 之后可以完整读到数据
但我老师说串口这种即时通讯怎么能延时 不合逻辑

代码如下:
主函数
main .cpp

#include /*标准输入输出定义*/
#include /*标准函数库定义*/
#include /*Unix 标准函数定义*/
#include
#include
#include /*文件控制定义*/
#include /*PPSIX 终端控制定义*/
#include /*错误号定义*/
#include
#include "SerialPort.h"
using namespace std;

int main()
{
int fd;
/*以读写方式打开串口*/
fd = open( "/dev/ttyUSB0", O_RDWR);
if (-1 == fd){
/* 不能打开串口一*/
perror(" 提示错误!");
return 0;
}

//串口设置
set_speed(fd,9600);
int ok=set_Parity(fd,8,1,'n');
if(ok==0)
{
    perror("串口设置出错");
    return 0;
}


/*读写功能实现*/
char s[100];
printf("发送数据:\n");
gets(s);
char buffer[1024];
int size;
write(fd,s,sizeof(s));
//sleep(1);
size = read( fd, buffer,sizeof(buffer));
if(size==-1)
{
    perror("读取数据出错");
    return 0;
}
close(fd);
printf("接受到的数据:\n");
printf( "%s", buffer);
return 0;

}

                                                                       配置函数头文件

SerialPort.h

#ifndef SERIALPORT_H_
#define SERIALPORT_H_
#define TRUE 1
#define FALSE 0
/* 波特率*/
struct termio
{
unsigned short c_iflag; /* 输入模式标志 /
unsigned short c_oflag; /
输出模式标志 /
unsigned short c_cflag; /
控制模式标志*/
unsigned short c_lflag; /* local mode flags /
unsigned char c_line; /
line discipline */
};
int speed_arr[] = { B38400, B19200, B9600, B4800, B2400, B1200, B300,
B38400, B19200, B9600, B4800, B2400, B1200, B300, };
int name_arr[] = {38400, 19200, 9600, 4800, 2400, 1200, 300, 38400,
19200, 9600, 4800, 2400, 1200, 300, };
void set_speed(int fd, int speed)
{
int i;
int status;
struct termios Opt;
tcgetattr(fd, &Opt);
for ( i= 0;i<int(sizeof(speed_arr)/sizeof(int));i++)
{
if (speed == name_arr[i])
{
tcflush(fd, TCIOFLUSH);
cfsetispeed(&Opt, speed_arr[i]);
cfsetospeed(&Opt, speed_arr[i]);
status = tcsetattr(fd, TCSANOW, &Opt);
if (status != 0) {
perror("tcsetattr fd");
return;
}
tcflush(fd,TCIOFLUSH);
}
}
}

/**
*@brief   设置串口数据位,停止位和效验位
*@param  fd     类型  int  打开的串口文件句柄
*@param  databits 类型  int 数据位   取值 为 7 或者8
*@param  stopbits 类型  int 停止位   取值为 1 或者2
*@param  parity  类型  int  效验类型 取值为N,E,O,,S
*/
int set_Parity(int fd,int databits,int stopbits,int parity)
{
    struct termios options;
    if  ( tcgetattr( fd,&options)  !=  0) {
        perror("SetupSerial 1");
        return(FALSE);
    }
    options.c_cflag &= ~CSIZE;
    switch (databits) /*设置数据位数*/
    {
    case 7:
        options.c_cflag |= CS7;
        break;
    case 8:
        options.c_cflag |= CS8;
        break;
    default:
        fprintf(stderr,"Unsupported data size\n"); return (FALSE);
    }
switch (parity)
{
    case 'n':
    case 'N':
        options.c_cflag &= ~PARENB;   /* Clear parity enable */
        options.c_iflag &= ~INPCK;     /* Enable parity checking */
        break;
    case 'o':
    case 'O':
        options.c_cflag |= (PARODD | PARENB); /* 设置为奇效验*/
        options.c_iflag |= INPCK;             /* Disnable parity checking */
        break;
    case 'e':
    case 'E':
        options.c_cflag |= PARENB;     /* Enable parity */
        options.c_cflag &= ~PARODD;   /* 转换为偶效验*/
        options.c_iflag |= INPCK;       /* Disnable parity checking */
        break;
    case 'S':
    case 's':  /*as no parity*/
        options.c_cflag &= ~PARENB;
        options.c_cflag &= ~CSTOPB;break;
    default:
        fprintf(stderr,"Unsupported parity\n");
        return (FALSE);
    }
/* 设置停止位*/
switch (stopbits)
{
    case 1:
        options.c_cflag &= ~CSTOPB;
        break;
    case 2:
        options.c_cflag |= CSTOPB;
       break;
    default:
         fprintf(stderr,"Unsupported stop bits\n");
         return (FALSE);
}
/* Set input parity option */
if (parity != 'n')
    options.c_iflag |= INPCK;
tcflush(fd,TCIFLUSH);
options.c_cc[VTIME] = 150; /* 设置超时15 seconds*/
options.c_cc[VMIN] = 0; /* Update the options and do it NOW */
if (tcsetattr(fd,TCSANOW,&options) != 0)
{
    perror("SetupSerial 3");
    return (FALSE);
}
return (TRUE);
}

#endif /* SERIALPORT_H_ */

我实在是自己研究不出来了 才来求问的 希望大家帮帮我看看 在此拜谢

3个回答

usb转rs232要看什么芯片。一些芯片缺乏原生com的一些特征,硬件的限制你程序写死了也没办法。

你好 我串口在win7环境下用串口调试工具是可以实现自发自收的 这样芯片是不是应该没问题的

@caozhy你好 我串口在win7环境下用串口调试工具是可以实现自发自收的 这样芯片是不是应该没问题的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
centos下串口自发自收c++代码实现

各位大神求助 搞了两周了一直是一个问题 我是菜鸟 希望大家指点指点 我的问题是我想让串口(usb转rs232)实现自发自收功能 但每次read只能读到一个字符 在write后面加个延时函数 sleep 之后可以完整读到数据 但我老师说串口这种即时通讯怎么能延时 不合逻辑 代码如下: 主函数 main .cpp #include <stdio.h> /*标准输入输出定义*/ #include <stdlib.h> /*标准函数库定义*/ #include <unistd.h> /*Unix 标准函数定义*/ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> /*文件控制定义*/ #include <termios.h> /*PPSIX 终端控制定义*/ #include <errno.h> /*错误号定义*/ #include <string.h> #include "SerialPort.h" using namespace std; int main() { int fd; /*以读写方式打开串口*/ fd = open( "/dev/ttyUSB0", O_RDWR); if (-1 == fd){ /* 不能打开串口一*/ perror(" 提示错误!"); return 0; } //串口设置 set_speed(fd,9600); int ok=set_Parity(fd,8,1,'n'); if(ok==0) { perror("串口设置出错"); return 0; } /*读写功能实现*/ char s[100]; printf("发送数据:\n"); gets(s); char buffer[1024]; int size; write(fd,s,sizeof(s)); //sleep(1); size = read( fd, buffer,sizeof(buffer)); if(size==-1) { perror("读取数据出错"); return 0; } close(fd); printf("接受到的数据:\n"); printf( "%s", buffer); return 0; } 配置函数头文件 SerialPort.h #ifndef SERIALPORT_H_ #define SERIALPORT_H_ #define TRUE 1 #define FALSE 0 /* 波特率*/ struct termio { unsigned short c_iflag; /* 输入模式标志 */ unsigned short c_oflag; /* 输出模式标志 */ unsigned short c_cflag; /* 控制模式标志*/ unsigned short c_lflag; /* local mode flags */ unsigned char c_line; /* line discipline */ }; int speed_arr[] = { B38400, B19200, B9600, B4800, B2400, B1200, B300, B38400, B19200, B9600, B4800, B2400, B1200, B300, }; int name_arr[] = {38400, 19200, 9600, 4800, 2400, 1200, 300, 38400, 19200, 9600, 4800, 2400, 1200, 300, }; void set_speed(int fd, int speed) { int i; int status; struct termios Opt; tcgetattr(fd, &Opt); for ( i= 0;i<int(sizeof(speed_arr)/sizeof(int));i++) { if (speed == name_arr[i]) { tcflush(fd, TCIOFLUSH); cfsetispeed(&Opt, speed_arr[i]); cfsetospeed(&Opt, speed_arr[i]); status = tcsetattr(fd, TCSANOW, &Opt); if (status != 0) { perror("tcsetattr fd"); return; } tcflush(fd,TCIOFLUSH); } } } /** *@brief 设置串口数据位,停止位和效验位 *@param fd 类型 int 打开的串口文件句柄 *@param databits 类型 int 数据位 取值 为 7 或者8 *@param stopbits 类型 int 停止位 取值为 1 或者2 *@param parity 类型 int 效验类型 取值为N,E,O,,S */ int set_Parity(int fd,int databits,int stopbits,int parity) { struct termios options; if ( tcgetattr( fd,&options) != 0) { perror("SetupSerial 1"); return(FALSE); } options.c_cflag &= ~CSIZE; switch (databits) /*设置数据位数*/ { case 7: options.c_cflag |= CS7; break; case 8: options.c_cflag |= CS8; break; default: fprintf(stderr,"Unsupported data size\n"); return (FALSE); } switch (parity) { case 'n': case 'N': options.c_cflag &= ~PARENB; /* Clear parity enable */ options.c_iflag &= ~INPCK; /* Enable parity checking */ break; case 'o': case 'O': options.c_cflag |= (PARODD | PARENB); /* 设置为奇效验*/ options.c_iflag |= INPCK; /* Disnable parity checking */ break; case 'e': case 'E': options.c_cflag |= PARENB; /* Enable parity */ options.c_cflag &= ~PARODD; /* 转换为偶效验*/ options.c_iflag |= INPCK; /* Disnable parity checking */ break; case 'S': case 's': /*as no parity*/ options.c_cflag &= ~PARENB; options.c_cflag &= ~CSTOPB;break; default: fprintf(stderr,"Unsupported parity\n"); return (FALSE); } /* 设置停止位*/ switch (stopbits) { case 1: options.c_cflag &= ~CSTOPB; break; case 2: options.c_cflag |= CSTOPB; break; default: fprintf(stderr,"Unsupported stop bits\n"); return (FALSE); } /* Set input parity option */ if (parity != 'n') options.c_iflag |= INPCK; tcflush(fd,TCIFLUSH); options.c_cc[VTIME] = 150; /* 设置超时15 seconds*/ options.c_cc[VMIN] = 0; /* Update the options and do it NOW */ if (tcsetattr(fd,TCSANOW,&options) != 0) { perror("SetupSerial 3"); return (FALSE); } return (TRUE); } #endif /* SERIALPORT_H_ */ 我实在是自己研究不出来了 才来求问的 希望大家帮帮我看看 在此拜谢

将centos6.5控制台重定向到串口,centos接收数据不完整

在centos6.5环境下,想通过串口来登录,于是做如下操作: 1、创建/etc/init/ttyS0.conf,添加内容: # ttyS0 - agetty # # This service maintains a agetty on ttyS0. stop on runlevel [S016] start on runlevel [23] respawn exec /sbin/agetty -h -L -w /dev/ttyS0 9600 vt102 2、在/etc/securetty文件最后一行添加:ttyS0 本人在centos5.5已经通过了测试,并未修改grub文件,但是由于在centos6.5下不修改grub文件则串口没有任何输出,所以做如下修改(但我觉得应该不需要修改) 3、修改/etc/grub.conf文件,在kernel行末尾添加console=ttyS0: title CentOS (2.6.32-431.el6.x86_64_ttyS0) root (hd0,0) kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup- lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=auto LANG=zh_CN.UTF-8 rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet console=ttyS0 initrd /initramfs-2.6.32-431.el6.x86_64.img 重启后有启动信息,但是使用串口调试助手发送用户名:root,只显示接收到了“o”,数据感觉接收不全,不知道是什么原因,求大神指导![CSDN移动问答][1] [1]: http://my.csdn.net/my/album/detail/1789861

CentOS 7下如何安装串口驱动程序?

串口调试工具minicom读取不到我写往串口COM1的数据, 同样minicom写往COM1的数据我也读取不到。

linux(centos)下 java web项目串口编程部分用rxtx包获取不到串口

我在win将项目导成war包放在linux下tomcat路径下运行,别的功能都好,唯独获取不到串口。 我是root权限登录,且试了很多方法如图,给uucp和lock组都添加了权限也没有 报错如图 ![图片说明](https://img-ask.csdn.net/upload/201703/07/1488876061_276341.png) 我更改的group文件如下 ![图片说明](https://img-ask.csdn.net/upload/201703/07/1488876089_85702.png) 程序如下,我将这段程序单独做小应用在linux下的eclipse跑起来就可以获取到串口,证明程序应该无误。不知道为什么还是没有权限 求各位大神帮帮忙,给点思路,谢谢大家了 ![图片说明](https://img-ask.csdn.net/upload/201703/07/1488876209_919881.png)

centos7.3 下tomcat自启动无效

提示信息为JAVA__OPTS:未找到命令 CATALINA_PID:未找到命令 centos7下 catalina.sh同级目录下setenv.sh内设置该两项参数后提示

centos中USB转串口找不到usbserial.ko怎么办?

centos中USB转串口找不到usbserial模块,到/usr/lib/modules/3.10.0-123.el7.x86_64/kernel/drivers/usb/serial/ 里面也找不到usbserial.ko文件

centos回收站的垃圾无法清楚,打开回收站都无法显示垃圾文件了,点清空回收站也没反应啊

centos回收站的垃圾无法清楚,打开回收站都无法显示垃圾文件了,点清空回收站也没反应啊,该怎么做?

mysql5.7在centos下编写c语言程序操作数据库时,头文件#include<mysql/mysql.h>报错

mysql5.7在centos下编写c语言程序操作数据库时,头文件#include<mysql/mysql.h>报错![图片](https://img-ask.csdn.net/upload/201604/17/1460876984_149948.png)

CentOS下在VSCode中安装的C++Intellisense插件不起作用

在CentOS下使用VSCode写C语言,发现看代码的时候无法查看函数定义, 在网上查找相关资料安装了C++Intellisense插件,也按照使用说明安装了GNU Global, 并在PATH中添加了global的路径,在源代码下运行gtags生成三个文件,但是在VSCode 中查看代码时,转向定义,查找引用等功能还是不能用,开启VSCode的开发者模式 查看控制台输出,发现查找引用时,提示找不到GTAGS文件,但是这个文件存在于源代码目录下呀。。 在网上搜了很久也找不到相关资料,感觉要疯掉了。。。

centos下tomcat无故关闭

这几天tomcat在跑一段时间后就无故自动关闭了,不知道什么情况。 服务器访问量现在不大——非常小。 没有人对服务器进行操作。 tomcat日志: `2013-12-25 21:30:00 org.apache.coyote.http11.Http11AprProtocol pause 信息: Pausing Coyote HTTP/1.1 on http-8080 2013-12-25 21:30:00 org.apache.coyote.ajp.AjpAprProtocol pause 信息: Pausing Coyote AJP/1.3 on ajp-8009 2013-12-25 21:30:01 org.apache.catalina.core.StandardService stop 信息: Stopping service Catalina 2013-12-25 21:30:01 INFO XmlWebApplicationContext:815 - Closing org.springframework.web.context.support.XmlWebApplicationContext@548997d1: display name [Root WebApplicationContext]; startup date [Wed Dec 25 21:18:33 CST 2013]; root of context hierarchy 2013-12-25 21:30:01 INFO DefaultListableBeanFactory:421 - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@33238785: defining beans [gpwAreaInfoService,gpwBulletinInfoService,gpwLinkInfoService,gpwResearchInfoService,gpwResearchValueService,gpwIpInfoService,gpwLeavewordService,cmsNewsColumnService,cmsNewsInfoService,cmsTemplateInfoService,cmsAdInfoService,cmsSpecialInfoService,cmsPageInfoService,cmsPageBlockService,cmsPageConditionService,sysCdsBaseService,sysCodeDataService,sysObjLinkService,sysObjService,sysOptionService,areaTalksService,areaTalkService,areaResourcesService,areaTalksUserService,areaWorkMemberService,areaUnitService,areaUnitsService,areaCommentService,jyzlService,areaCommentAnnexService,springApplicationContext,txProxyTemplate,transactionManager,baseDAO,DAO,jyzlDAO,dataSource,mailSender,propertyConfigurer,remoteRegister,userService,resGateway,staticsService,sysUserInfoService,sysUnitInfoService,sysVisitLogService,eduResColumnService,eduResInfoService,resInfoService,friendInfoService,friendQuestionService,teacherCourseService,teacherScheduleService,collectiveLessonService,collectiveTypeService,collectiveUserTraceService,classUserService,classInfoService,commentInfoService,lessonService,lessionMemberService,recordInfoService,roomInfoService,discussInfoService,favoriteColumnService,favoriteInfoService,jxjhTeachPlanConfigService,jxjhTeachPlanDraftService,jxjhTeachPlanFlagService,jxjhTeachPlanInfoService,jxjhTeachPlanService,browseRecordService,choiceFilesService,archiveColumnService,customFilesService,archiveColumnNameService,archiveStateService,archiveCheckService,documentService,updateService,eduResInfoDataStatics,resInfoDataStatics,friendQuestionDataStatics,sysUserInfoDataStatics,collectiveLessionDataStatics,defineTable,forumInfoService,forumCommentService,forumUsertraceService,sessionFactory,hibernateProperties]; root of factory hierarchy 2013-12-25 21:30:01 INFO LocalSessionFactoryBean:246 - Closing Hibernate SessionFactory 2013-12-25 21:30:01 INFO SessionFactoryImpl:853 - closing 2013-12-25 21:30:02 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc 严重: The web application [] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. 2013-12-25 21:30:02 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads 严重: The web application [] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak. 2013-12-25 21:30:02 org.apache.coyote.http11.Http11AprProtocol destroy 信息: Stopping Coyote HTTP/1.1 on http-8080 2013-12-25 21:30:02 org.apache.coyote.ajp.AjpAprProtocol destroy`

CentOS如何开机后自动连VPN 最好能够断线重连

在CentOS6.5上创建了一个VPN连接 每次开机之后需要敲命令 pppd call VPN 然后ifconfig查看有没有ppp0 有了之后再敲命令 route add -net 0.0.0.0 dev ppp0 我对Linux的命令一窍不通 哪位高手指导下 怎么设置 开机之后自动执行 pppd call VPN 连接到VPN 判断ppp0出现之后 再自动执行 route add -net 0.0.0.0 dev ppp0 同时每10秒到20秒检测VPN状态 如果断了(ppp0没了) 自动重新执行上面的命令

centos6.3系统下fsck如何实现自动修复文件系统错误,我的设备没有终端

centos6.3系统下经常断电,导致文件系统出现要求手动运行fsck修复文件系统,如果有显示器之类的设备运行fsck之后可以解决这个问题,但我们的设备没有显示器,且要求可以直接断电,请问大神们怎么解决这个问题。

centos下tomcat如何设置防火墙放行端口

centos下tomcat如何设置防火墙放行端口?求高手指点

linux centos 下 cd Downloads

linux centos 下 cd Downloads ![图片说明](https://img-ask.csdn.net/upload/201707/25/1500919317_366489.png) 一直这个问题

centos怎样联网,求指导

刚刚安装centos系统,发现连不上网,求大神指点怎样联网,本人小白,第一次使用Linux

centos服务自启动失败

如图的httpd.service,无法开机自启,系统是CentOS 7.5 64位 求大神解答 ![图片说明](https://img-ask.csdn.net/upload/201903/05/1551724137_18425.jpg)

在centos6.9上注册自己开发的netfilter内核模块 系统重启,有大神帮看下?

自己写的一个NAT功能,挂载pre routing 和 post routing两个钩子函数。但是insmod 模块后,系统直接重启。我尝试注掉钩子函数内部的内容后,不重启了,但是rmmod时 又重启。说明可能是挂载有问题, 但是找不到问题出在哪。 ``` { nfhk_serv_in.hook = nf_hook_proc_in; nfhk_serv_in.pf = PF_INET; nfhk_serv_in.hooknum = NF_INET_PRE_ROUTING; nfhk_serv_in.priority = NF_BR_PRI_FIRST; //ret = nf_register_hook(&nfhk_serv_in); if (ret != 0) return ret; nfhk_serv_out.hook = nf_hook_proc_out; nfhk_serv_out.pf = PF_INET; nfhk_serv_out.hooknum = NF_INET_POST_ROUTING; nfhk_serv_out.priority = NF_BR_PRI_FIRST; ret = nf_register_hook(&nfhk_serv_out); if (ret != 0) return ret; } ```

请问怎么获取 centos的各个 分区 的大小 用Java代码实现

本地 跑起来tomcat ,数据库只有 一个分区 ; 我在网上找的 File[] roots = File.listRoots(); 遍历之后 只取到了 '/' 分区 ,请问其它分区 怎么获取

CentOS 7 sh开机启动

CentOS 7 环境下一个sh文件,我想再开机的时候可以自动启动,这个要怎么办,新手求助!!

vmware中centos虚拟机ping不通自己

![图片说明](https://img-ask.csdn.net/upload/201611/03/1478107382_200311.jpg)

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

Linux命令学习神器!命令看不懂直接给你解释!

大家都知道,Linux 系统有非常多的命令,而且每个命令又有非常多的用法,想要全部记住所有命令的所有用法,恐怕是一件不可能完成的任务。 一般情况下,我们学习一个命令时,要么直接百度去搜索它的用法,要么就直接用 man 命令去查看守冗长的帮助手册。这两个都可以实现我们的目标,但有没有更简便的方式呢? 答案是必须有的!今天给大家推荐一款有趣而实用学习神器 — kmdr,让你解锁 Linux 学习新姿势...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

史上最全的 python 基础知识汇总篇,没有比这再全面的了,建议收藏

网友们有福了,小编终于把基础篇的内容全部涉略了一遍,这是一篇关于基础知识的汇总的文章,请朋友们收下,不用客气,不过文章篇幅肯能会有点长,耐心阅读吧爬虫(七十)多进程multiproces...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

新一代神器STM32CubeMonitor介绍、下载、安装和使用教程

关注、星标公众号,不错过精彩内容作者:黄工公众号:strongerHuang最近ST官网悄悄新上线了一款比较强大的工具:STM32CubeMonitor V1.0.0。经过我研究和使用之...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

大学一路走来,学习互联网全靠这几个网站,最终拿下了一把offer

大佬原来都是这样炼成的

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

什么时候跳槽,为什么离职,你想好了么?

都是出来打工的,多为自己着想

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

你期望月薪4万,出门右拐,不送,这几个点,你也就是个初级的水平

先来看几个问题通过注解的方式注入依赖对象,介绍一下你知道的几种方式@Autowired和@Resource有何区别说一下@Autowired查找候选者的...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

立即提问
相关内容推荐