编程语言
深入沟通_it6688668
深入沟通:it6688668
展开
-
GCC内嵌汇编一些限制字符串
/******************/ “b”将输入变量放入ebx “c”将输入变量放入ecx “d”将输入变量放入edx “s”将输入变量放入esi “d”将输入变量放入edi “q”将输入变量放入eax,ebx ,ecx ,edx中的一个 “r”将输入变量放入通用寄存器,也就是eax ,ebx,ecx,edx,esi,edi中的一个 “A”把e转载 2017-07-31 09:47:34 · 1149 阅读 · 0 评论 -
【c语言】实现打开一个连接描述符,并操作描述符
#include <csapp.h>int open_clientfdd(char *hostname,char *port);int open_listenfdd(char *port);void echo(int connfd);int main(int argc,char **argv) { int listenfd, connfd; socklen_t clientle转载 2017-07-17 16:12:27 · 375 阅读 · 0 评论 -
【c语言】打开一个客户端socket描述符
int open_clientfdd(char *hostname,char *port){ int clientfd; struct addrinfo hints,*listp,*p; /* get a list of potential server address*/ memset(&hints,0,sizeof(struct addrinfo)); hi转载 2017-07-14 17:09:40 · 434 阅读 · 0 评论 -
【C语言】查询域名IP
/* ============================================================================ Name : inettest.c Author : Moshiyou Version : Copyright : Your copyright notice Description : He转载 2017-07-14 14:50:40 · 1140 阅读 · 0 评论 -
【c语言】打开一个socket服务端listen 描述符
int open_listenfdd(char *port){ struct addrinfo hints,*listp,*p; int listenfd, optval = 1; /* get a list of potential server address*/ memset(&hints,0,sizeof(struct addrinfo)); hints.a转载 2017-07-14 17:39:45 · 1083 阅读 · 0 评论 -
【C语言】实现一个简单SHELL应用
【C语言】实现一个简单SHELL应用转载 2017-06-29 14:19:54 · 4378 阅读 · 0 评论 -
【C语言】FORK子进程的创建和回收(按顺序回收)
/* ============================================================================ Name : test.c Author : Version : Copyright : Your copyright notice Description : Hello World in转载 2017-06-29 09:42:05 · 2468 阅读 · 0 评论 -
JAVA多线程 Thread Runable 守护线程实例
JAVA多线程 Thread Runable 守护线程实例package com.thread.my; public class ThreadTest extends Thread{ private int ticket = 5; private String name; public ThreadTest(String name){ this.name = na原创 2017-06-02 22:06:30 · 571 阅读 · 0 评论 -
RSA签名验证的JAVA JDK实现方式
package com.crypt.my;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.PrivateKey;import java.security.PublicKey;import jav原创 2017-06-05 23:19:06 · 4162 阅读 · 0 评论 -
【C】单向链表和双向链表的插入
typedef struct NODE { struct NODE *link; int value;} Node;typedef struct DNODE { struct DNODE *fwd; struct DNODE *bwd; int value;} Dnode;# s11_node.h ################incl原创 2017-09-08 15:49:57 · 359 阅读 · 0 评论 -
【C】终端/普通文件/标准错误的缓冲大小
#include "apue.h"#include "apueerror.h"void pr_stdio(const char *, FILE *);int is_unbuffered(FILE *);int is_linebuffered(FILE *);int buffer_size(FILE *);int main(int argc,char **argv){ FILE *f转载 2017-09-29 11:52:00 · 279 阅读 · 0 评论 -
CENTOS6.5 编译安装 LNMP
1 配置好IP、DNS 、网关,确保使用远程连接工具能够连接服务器 2 配置防火墙,开启80端口、3306端口 vi /etc/sysconfig/iptables #编辑防火墙配置文件 -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙) -A INPUT -m state –stat原创 2017-11-23 11:51:55 · 380 阅读 · 1 评论 -
[unix]sigsuspend函数保护代码临界区 使其不被特定信号中断
#include #include /** * 1 保护代码临界区 使其不被特定信号中断 * 2 当sigsuspend返回时 它将信号屏蔽字设置为调用它之前当值 * SIGINT信号将被阻塞。因此将信号屏蔽恢复为之前保存当值oldmask * 3 在调用sigsuspend时 将SIGUSR1信号加到了进程号屏蔽字中, * 所以当运行该信号处理程序时,得知信号屏蔽字已改变。可见,在转载 2017-12-29 17:32:38 · 222 阅读 · 0 评论 -
[unix]信号处理非局部跳转sigsetjmp函数和siglongjmp实例
#include <apue.h>#include <setjmp.h>#include <time.h>#include <errno.h>static void sig_usr1(int);static void sig_alrm(int);static sigjmp_buf jmpbuf;static volatile sig_atomic_t canjump;void pr_m转载 2017-12-28 17:45:20 · 299 阅读 · 0 评论 -
[unix]两个互斥量保护共享变量自增,保证线程执行安全实例
#include "apue.h"#include #define NHASH 29#define HASH(id) (((unsigned long)id)%NHASH)struct foo *fh[NHASH];pthread_mutex_t hashlock = PTHREAD_MUTEX_INITIALIZER;struct foo { int原创 2018-01-12 17:58:08 · 325 阅读 · 0 评论 -
[unix]pthread_cleanup_push & pthread_cleanup_pop 实例
#include "apue.h"#include void cleanup(void *arg){ printf("cleanup: %s\n", (char *)arg);}void * thr_fn1(void *arg){ printf("thread 1 start\n"); pthread_cleanup_push(cleanup,(void *原创 2018-01-12 16:32:31 · 401 阅读 · 0 评论 -
[unix]SIGQUIT信号堵塞的测试
#include <apue.h>#include <errno.h>static void sig_quit(int);int main(void){ sigset_t newmask, oldmask, pendmask; if(signal(SIGQUIT,sig_quit) == SIG_ERR) err_sys("can't catch SIGQUIT转载 2017-12-27 14:47:09 · 326 阅读 · 0 评论 -
[unix]线程创建
#include "apue.h"#include pthread_t ntid;void printids(const char *s){ pid_t pid; pthread_t tid; pid = getpid(); /*这里用pthread_self函数获取当前线程id,而不是用pthread_create执行时候保存在全局变量ntid原创 2018-01-11 14:29:39 · 398 阅读 · 0 评论 -
【unix】alarm,pause函数 实现sleep函数的一些问题(SIGALRM信号跟其他信号如(SIGINT))交互的问题
#include #include static jmp_buf env_alrm; /* version 2 */static void sig_alrm(int signo){ longjmp(env_alrm,1); /* versin 2 */ /* nothing to do , just return to wake up the pause (version 1转载 2017-12-18 17:02:47 · 416 阅读 · 0 评论 -
[unix]system函数的一个实现
代码来源 unix环境高级编程 第三版 一书 这个system函数实现有缺陷 具体参详10.18节#include #include #include #include int system(const char *cmdstring){ pid_t pid; int status; struct sigaction ignore,saveintr,savequit; s原创 2017-12-31 11:57:28 · 905 阅读 · 0 评论 -
[UNIX]signal函数捕捉SIGCLD信号
#include #include static void sig_cld(int);int main(){ pid_t pid; if(signal(SIGCLD,sig_cld) == SIG_ERR) perror("signal error"); if((pid = fork()) < 0) perror("fork error"); else if(pid转载 2017-12-14 17:49:33 · 315 阅读 · 0 评论 -
【汇编语言】王爽第三版 - 实验11
把以0结尾的字符串小写转大写 DATAS SEGMENT ;此处输入数据段代码 db "Beginner's All-purpose Symbolic Instruction Code.",0 DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT ASSUME CS:CODES,原创 2017-04-21 17:15:30 · 1230 阅读 · 0 评论 -
【汇编语言】8086处理器标志寄存器的作用和DEBUG中的表示
CF: 进位标志是用来反映计算时是否产生了由低位向高位的进位,或者产生了从高位到低位的借位 。PF: 奇偶标志是用来记录相关指令执行后,其结果的所有的 Bit 位中 1 的个数是否为偶数 。ZF: 记录的是相关的指令执行完毕后,其执行的结果是否为 0 。SF: 符号标志,其记录相关指令执行完以后,其结果是否为负数 。DF:原创 2017-04-21 16:10:32 · 1078 阅读 · 0 评论 -
【C语言】统计字符数
#include <stdio.h>#include <stdlib.h>//统计字符串字符个数int upcount=0,lowcount=0,spacecount=0,numcount=0,othercount=0;void char_total(char *str){ int i=0; while(*(str+i) != '\0'){ if(*(str+i原创 2016-05-16 11:56:20 · 848 阅读 · 0 评论 -
【C语言】合并,排序两个链表
#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include <assert.h>typedef struct stu{ int id; //学号 char sex[10]; //性别 float score; //成绩 struct stu *next; //下一节点的原创 2016-05-27 16:08:01 · 934 阅读 · 0 评论 -
【C语言】动态链表建立工人档案,并输出结果
#include <stdio.h>#include <stdlib.h>#include <malloc.h>struct factor{ int id; //工号 char name[20]; //姓名 float wages; //薪水 struct factor *next; //下一节点的头指针};struct f原创 2016-05-25 10:14:51 · 555 阅读 · 0 评论 -
【C语言】判断字符串是否是回文
#include <stdio.h>#include <stdlib.h>#include <string.h>//判断一个字符串是不是回文 (正序跟倒序是一样的)int is_back_content(char *str){ int i=0,j,len,n; len = strlen(str); j = len - 1; n = len/2; whi原创 2016-05-11 17:23:12 · 3193 阅读 · 0 评论 -
【C语言】截取字符串实现
#include <stdio.h>#include <stdlib.h>#include <string.h>//从m长字符串中第n个位置复制字符到另外一个字符串char* substr(char *str,int n){ char *newstr; if(abs(n) > strlen(str) || n == 0) /*如果n的绝对值大于原始字符串长度退出程序状态值原创 2016-05-11 15:29:34 · 1305 阅读 · 0 评论 -
【C语言】结构体判断一个日期是该年的第几天
#include <stdio.h>#include <stdlib.h>struct date { int year; int month; int day;} date;int main() { int sum = 0,tag; printf("请输入年月日:\n"); scanf("%d,%d,%d", &date.year, &date.m原创 2016-05-24 15:35:37 · 5506 阅读 · 0 评论 -
【C语言】指向指针的指针变量对字符串进行排序
#include <stdio.h>#include <stdlib.h>#include <string.h>void sort(char * str[], int size) { int i, j; char * tmp; for (i = 0; i < size - 1; i++) { for (j = i + 1; j < size; j++)原创 2016-05-24 14:49:49 · 567 阅读 · 0 评论 -
【c语言】最小值与第一个值互换位置,最大值与最后一个互换位置
#include <stdio.h>#include <stdlib.h>#define SIZE 10//输入一个10个数,最小值与第一个值互换位置,最大值与最后一个互换位置void max_min_pos(int *arr){ int max,min,maxpos=0,minpos=0,i; max=min=*arr; for(i=1;i<SIZE;i++){原创 2016-05-10 17:48:10 · 8397 阅读 · 1 评论 -
【C语言】统计字符数
#include <stdio.h>#include <stdlib.h>int letter_count=0,num_count=0,other_count=0;//获取字符串中字母数,数字数,其他字符数void char_count(char *str){ int i=0; while(*(str+i) != '\0'){ char c = *(str+i原创 2016-05-10 10:23:46 · 1333 阅读 · 0 评论 -
【C语言】数组对应位置交换值
#include <stdio.h>#include <stdlib.h>#define SIZE 10int a[SIZE]={1,2,3,4,5,6,7,8,9,10},b[SIZE]={101,102,103,104,105,106,107,108,109,110};//数组对应位置交换值void max_min_pos(int *a,int *b){ int tmp,i;原创 2016-05-10 16:00:54 · 5960 阅读 · 0 评论 -
【c语言】统计一个字符在字符串中出现的次数
#include <stdio.h>#include <stdlib.h>int countchar(char *str,char a){ int n=0; int i = 0; while(*(str+i)!='\0'){ if(*(str+i) == a) n++; i++; } return n原创 2016-05-06 15:54:45 · 29193 阅读 · 3 评论 -
【C语言】过滤字符串非字母的字符并统计字母数
#include <stdio.h>#include <stdlib.h>int n=0;char* letter(char *str){ int i=0,j=0; static char newstr[20]; char *p; char tmp; p = newstr; while(*(str+i)!='\0'){ tmp =原创 2016-05-06 16:51:11 · 6944 阅读 · 0 评论 -
《汇编语言》王爽第三版 - 实验10
(1)编写子程序参数 行,列,颜色,内容显示于屏幕上DATAS SEGMENT ;此处输入数据段代码 db 'Welcome to masm!',0DATAS ENDSSTACKS SEGMENT ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSS原创 2017-04-14 10:13:27 · 1300 阅读 · 0 评论 -
《汇编语言》王爽第三版 - 实验9
《汇编语言》王爽第三版 - 实验9原创 2017-04-13 11:34:34 · 1804 阅读 · 0 评论 -
【C语言】位的运算(深入理解计算机系统第三版习题2.12)
#include <stdio.h>#include <stdlib.h>int main(){ int a = 0x87654321; int b,d,c,e; b = a & 0xFF; // 0x00000021 c = ~ 0xFF; d = a ^ c; // 0x789abc21 e = a | 0xFF; // 0x876原创 2017-03-16 09:53:25 · 1002 阅读 · 0 评论 -
【C语言】模拟strcmp比较两个字符串
#include <stdio.h>#include <stdlib.h>#include <string.h>//模拟strcmp比较两个字符串int strcmp_self(char *strFrist,char *strSecond){ int i=0,lenFst,lenScd; lenFst = strlen(strFrist); lenScd = strl原创 2016-05-11 11:02:28 · 795 阅读 · 0 评论 -
【SHELL】监控系统信息CPU,磁盘,内存
#!/bin/bash################################system infomation###############################clearif `test $# -eq 0`thenreset_terminal=$(tput sgr0)# OS typeos=$(uname -o)echo -e '\E[32m:'"OS t原创 2016-05-22 17:49:27 · 694 阅读 · 1 评论