汇编debug时一条命令 MOV [BX],0是错的,为什么啊?

汇编debug时一条命令 MOV [BX],0是错的,为什么啊?

1个回答

要么是你debug没用对,要么是程序没写对,要么是你直接在64bit系统里直接运行debug,你必须在32bit/16bit系统上运行debug
debug操作方法和汇编调试的方法参考
https://wenku.baidu.com/view/5bc97f39001ca300a6c30c22590102020640f21d.html

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于一段汇编程序的问题(《汇编语言第三版》王爽著中实验十第三小题数值显示的程序)
为了实现题目要求的功能编写了一段汇编代码,发现直接运行该代码生成的exe文件会陷入死循环无法结束。而如果debug单步调试的话能够正常跳转到int 21h程序结束部分,请问直接运行exe为什么会陷入死循环? (如果没有该教材的话可以看链接视频中关于这个问题的讲解https://www.bilibili.com/video/av28132657?p=53) ``` assume cs:code data segment db 16 dup (0) data ends code segment start:mov ax,12666 mov bx,data mov ds,bx mov si,0 call dtoc mov dh,8 mov dl,3 mov cl,2 call show_str mov ax,4c00h int 21h show_str: mov si,bx mov bx,0 mov bl,160 mov al,dh mul bl mov bx,ax mov al,dl mul cl add bl,al mov ax,0b800h mov es,ax mov cx,si dec si s0: mov al,ds:[si] add al,30h mov es:[bx],al mov byte ptr es:[bx+1],24h dec si add bx,2 loop s0 ret dtoc:mov bx,0 s:mov cx,10d div cx mov byte ptr ds:[bx],dl inc bx mov cx,ax jcxz ok mov dx,0 jmp short s ok: ret code ends end start ```
汇编 debug
汇编DEBUG中命令G有什么用,对D,U命令的运行有影响吗?
汇编语言如何用debug 看int 12h指令的每一步
汇编语言,在dosbox中如何用debug 看int 12h指令的每一步,具体应该如何用a命令写代码?
请问 endbr32 这是一条什么汇编指令?
![图片说明](https://img-ask.csdn.net/upload/202002/08/1581150428_845449.png)请问位于地址100010的指令endbr32是干什么用的?
C++嵌入Assembler(汇编)汇编内出错?
<!--blog--> <h4><b>我在C++中插入了汇编代码,但汇编代码老报错,不知什么原因。求各位大神帮助!</b></h4> 代码: ```C++ #include <iostream> using namespace std; int main(int argc,char *argv[]) { volatile int a[3] = {0,0,0}; for (int i = 0;i < 3;i ++) cout << a[i] << ends; cout << endl; asm ("inc [esp + 2]");//Assembler:inc [esp + 2] (++ a[1];) for (int i = 0;i < 3;i ++) cout << a[i] << ends; cout << endl; return 0; } ``` 报错信息: ```Message (File(C:\Users\ADMINI~1\AppData\Local\Temp\ccR9LmJd.s)) Assembler messages: (Line(42)) (File(C:\Users\ADMINI~1\AppData\Local\Temp\ccR9LmJd.s)) Error: invalid char '[' beginning operand 1 `[esp+2]' ``` 之后我想是不是这个汇编器不支持<c style="color:red;">Intel</c>,就把那一行汇编改成了<c style="color:red;">AT&T</c>格式的: ``` asm ("inc [esp + 2]");//Assembler:inc [esp + 2] (++ a[1];) ``` | | \/ ``` asm ("inc 2(%esp)");//Assembler:inc 2(%esp) (++ a[1];) ``` 但还是报错了: ``` (File(C:\Users\ADMINI~1\AppData\Local\Temp\ccEzueAV.s)) Assembler messages: (Line(42)) (File(C:\Users\ADMINI~1\AppData\Local\Temp\ccEzueAV.s)) Error: no instruction mnemonic suffix given and no register operands; can't size instruction ``` </h6><b><c style="color:green">本人对<cc style="color:red;">AT&T</cc>不熟悉,麻烦大家看看哪错了,致以感谢!</c></b></h6>
汇编语言 段偏移地址的表示方法
在看王爽的《汇编语言》,讲到了在.asm文件中编写 mov ax,[0]与在debug中编写出来的结果是不一样的,在文件中表示的意思是把0 mov 到 ax,在debug中是把ds:[0]的内容 mov 到 ax,所以要想表达相同的意思,.asm文件中应该用寄存器来存放偏移地址,即 mov ax,[bx]的形式,啰嗦了一大堆,我的问题是,能不能写成mov ax,[bl]或者mov ax,[bh]?
一段找最大值的汇编代码无法正常运行
是《深入理解程序设计 使用Linux汇编语言》这本书里的第二段程序。 书上用的是as编译器,我想用nasm编译器,毕竟Intel风格更好看一些。 这里就有个问题了。 书上有一行命令是: ```assembly movl data_items(,%edi,4), %eax ``` 这个在as上是可以编译通过的,但是在nasm里却不能简单的换成 ``` mov eax, data_items[,edi,4] ``` 这绝壁是错的,所以我想了很多办法怎样替代,但是都不行。以下是我的代码: ``` section .data dataitems: db 3,67,24,222,45,75,54,34,44,33,22,11,66,0 section .text global _start _start: mov edi, 0 mov eax, [dataitems+edi] mov ebx, eax start_loop: cmp eax, 0 je loop_end inc edi mov eax, [dataitems+edi] cmp eax, ebx jle start_loop mov ebx, eax jmp start_loop loop_end: mov eax, 1 int 0x80 ``` 这个代码也是有问题的,中间有两行是 ``` mov eax,[dataitems+edi] ``` 我以为加上方括号是解析对应地址储存的值,然而并不是,经gdb调试,方括号取出来存到eax里的明显是一段地址的十进制形式,最后的输出虽然是正常的dataitems里的数字,但是由于中间的判断都是用地址值判断的,所以结果并不对。 这是什么原因啊? 编译器:nasm 2.13.02 连接器:ld 2.30 结果检查方式:程序运行结束后输入`echo $?`
ARM中的嵌入式汇编代码解释
老师 orr r1, r1, #0xc0000000\n,这个嵌入式汇编应该怎么解释/ 原汇编如下: mrc p15, 0, r1, c1, c0, 0\n orr r1, r1, #0xc0000000\n mcr p15, 0, r1, c1, c0, 0\n 第一三行,我查了百度的解释,就是请求协处理器p15,执行操作0,把操作数c1,c0传送到寄存器r1中,mcr是反过来,请问这么理解对么?最后面那个\n是做什么用的? 还有第二行的orr 的作用是什么,求大佬解释
为什么汇编debug 模式下的 -e b810:0 填写的数据是50,60 这样才会 显示一些东西, 不然不显示呢
![图片说明](https://img-ask.csdn.net/upload/201910/20/1571579124_363119.jpg) 如图
为何DOSbox下的debug中 e 命令 无效?
![图片说明](https://img-ask.csdn.net/upload/201911/25/1574675156_65454.png) 初学汇编语言遇到的问题, 下面的问题标签里面没有汇编语言, 就随便点了一个,见谅!
汇编语言的在代码段中使用栈的数据改变的问题
详细请看https://bbs.csdn.net/topics/395826275
Protues仿真51单片机地址总线为什么会自动输出高?(汇编)
用Protues做51仿真用汇编写的程序,想要驱动共阴极数码管用373地址锁存,273作输出到数码管,原理图如下![图片说明](https://img-ask.csdn.net/upload/201912/23/1577078636_936634.png) 汇编代码如下 ``` ORG 0000H LJMP MAIN MAIN: MOV DPTR,#00FEH MOV A,#60H MOVX @DPTR,A AJMP $ END ``` 代码中地址00FEH对应273输出使能和8号(最右边)的数码管选中,代码运行后地址线为00FEH,但是实际仿真之后发现被选中的数码管并没有显示数字“1” 下图为仿真图,程序执行后地址线输出了高电平导致数码管没有显示 ![图片说明](https://img-ask.csdn.net/upload/201912/23/1577079211_10 8978.png) 原因是数码管的共阴极端连接的地址线在最后输出了高电平而不是一直保持00FEH,想问一下是什么原因导致的这个问题应该怎么解决?
用edit写的汇编用中括号表示偏移地址为什么不能识别
我写的程序如下: assume cs:code code segment mov ax,0ffffh mov ds,ax mov al,[0006h] mov ah,0 mov cx,2 mov dx,ax s: add dx,ax loop s mov ax,4c00h int 21h code ends end 然后我用debug调试,用u显示汇编程序却是这样子的 http://weibo.com/5074472732/profile?rightmod=1&wvr=6&mod=personinfo(不能上传图片,图片在这个网址里面) 那个[0006h]为什么没有解析成偏移地址 我直接在debug里面写汇编语句mov ax,[0006]是可以解析的,刚学汇编,望大神指教
汇编中的mov指令的基本使用
mov S ,D 是将D传送到S ,还是S传送到D中去呢? 在王爽的《汇编》中说: mov ax , 18 是将 18传送到寄存器ax中。 但是我用gcc反汇编如下函数 ``` int test() { return 2; } ``` 得到的汇编代码却是 ``` _add: LFB7: .cfi_startproc movl $2, %eax ;//将eax内容复制到2中???显然不对啊 ret .cfi_endproc ```
汇编程序的结构体定义在后文中调用一直报错
``` DATA SEGMENT STUDENT STRUCT XNAME DB 14 DUP('$') XCLASS DB 14 DUP('$') NUM DW 0 SCORE DW 0 STUDENT ENDS STU_SIZE EQU 26 STU_DB STUDENT 100 DUP(<'X','Y',1,100>) STU_NUM DB 0 ; STU_SEQ DB 100 DUP('$') ; MASSAGE DB 'Student Management System',0dh,0ah DB '0.Exit',0dh,0ah DB '1.Add New Student',0dh,0ah DB '2.Sort by Number',0dh,0ah DB '3.Sort by Score',0dh,0ah DB '4.Print Average',0dh,0ah DB '5.Print Statistic',0dh,0ah DB '$' MSG1 DB 'Name:','$' MSG2 DB 'Class:','$' MSG3 DB 'Number','$' MSG4 DB 'Score','$' m_str_l DB 0dh,0ah,'[length<14byte]','$' m_num_l DB 0dh,0ah,'[value<100]','$' TABLE DW CASE0,CASE1,CASE2,CASE3,CASE4 BUFLEN DB 100 ; ACLEN DB ? ; BUF DB 100 DUP(0),'$' ; BUFEND EQU OFFSET BUF+100 ; N_6 DB 0 N67 DB 0 N78 DB 0 N89 DB 0 N9_ DB 0 M_6 DB '~60','$' M67 DB '60~70:','$' M78 DB '70~80:','$' M89 DB '80~90:','$' M9_ DB '90~100:','$' DATA ENDS STACK SEGMENT STACK DB 200H DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: PS MACRO STR ; PUSH AX PUSH DX LEA DX,STR MOV AH,9 INT 21H POP DX POP AX ENDM PC MACRO CH ; PUSH AX PUSH DX MOV DL,CH MOV AH,2 INT 21H POP DX POP AX ENDM ENDL MACRO ; PC 0DH PC 0AH ENDM SCS MACRO LEA DX,BUFLEN MOV AH,10 ; INT 21H ENDM SCC MACRO MOV AH,1 INT 21H ENDM MEMCPY MACRO DEST,SRC,LEN PUSH AX PUSH CX PUSH DI PUSH SI MOV AX,DS MOV ES,AX MOV CX,WORD PTR LEN LEA SI,SRC LEA DI,DEST CLD REP MOVSB POP SI POP DI POP CX POP AX ENDM GET_STU MACRO PUSH AX PUSH CX LEA BX,STU_DB MOV CL,5 SHL AX,CL ADD BX,AX POP CX POP AX ENDM MOV AX,DATA MOV DS,AX MASSAG: ENDL PS MASSAGE PC ':' SCC ENDL MOV AH,0 MOV BX,AX SUB BX,'0' CMP BX,5 JBE CASE0TO5 JMP MASSAG CASE0TO5: SHL BX,1 JMP TABLE[BX] CASE0: MOV AH,4CH INT 21H CASE1: CALL INS_STU JMP MASSAG CASE2: CALL NUM_SORT CALL PRINT_SEQ JMP MASSAG CASE3: CALL SCORE_SORT CALL PRINT_SEQ JMP MASSAG CASE4: CALL GET_SAT JMP MASSAG INS_STU PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX MOV AX,WORD PTR STU_NUM LEA BX,STU_DB MOV CL,5 SHL AX,CL ADD BX,AX INPUT_NAME: PS m_str_l PS MSG1 SCS CMP ACLEN,14 JAE INPUT_NAME MEMCPY [BX].XNAME,BUF,ACLEN ENDL INPUT_CLASS: PS m_str_l PS MSG2 SCS CMP ACLEN,14 JAE INPUT_CLASS MEMCPY [BX].XCLASS,BUF,ACLEN ENDL INPUT_NUM: PS m_str_l PS MSG3 SCS CALL STR_TO_NUM MOV [BX].NUM,AX ENDL INPUT_SCORE: PS m_str_l PS MSG4 SCS CALL STR_TO_NUM MOV [BX].SOCRE,AX ENDL INC STU_NUM POP DX POP CX POP BX POP AX RET INS_STU ENDP PNUM PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX MOV BX,BUFEND DEC BX MOV WORD PTR [BX],'$' OUTLOOP: OR AX,AX JZ OUTLOOPFIN MOV DX,0 MOV CX,10 DIV CX ADD DL,'0' DEC BX MOV BYTE PTR [BX],DL JMP OUTLOOP OUTLOOPFIN: CMP BX,OFFSET BUFEND-1 JNE PRINT_NUM DEC BX MOV BYTE PTR [BX],'0' PRINT_NUM: MOV DX,BX MOV AH,9 INT 21H POP DX POP CX POP BX POP AX RET PNUM ENDP PSCORE PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX MOV BX,BUFEND DEC BX MOV BYTE PTR [BX],'$' OUTLOOP1: OR AX,AX JZ OUTLOOP1FIN MOV DX,0 MOV CX,10 DIV CX ADD DL,'0' DEC BX MOV BYTE PTR [BX],DL JMP OUTLOOP1 OUTLOOP1FIN: CMP BX,OFFSET BUFEND-1 JNE PRINT_SCORE DEC BX MOV BYTE PTR [BX],'0' PRINT_SCORE: MOV DX,BX MOV AH,9 INT 21H POP DX POP CX POP BX POP AX RET PSCORE ENDP PSTU PROC NEAR PUSH AX PUSH BX PUSH CX GET_STU PS MSG1 PS [BX].XNAME PC ' ' PS MSG2 PS [BX].CLASS PC ' ' PS MSG3 MOV AX,[BX].NUM CALL PNUM PC ' ' PS MSG4 MOV AX,[BX].SCORE CALL PSCORE ENDL POP CX POP BX POP AX RET PSTU ENDP STR_TO_NUM PROC FAR PUSH BX PUSH CX PUSH SI MOV AX,0 MOV CX,WORD PTR ACLEN LEA SI,BUF GET_NUM: MOV BL,10 MUL BL MOV BX,WORD PTR [SI] ADD AX,BX SUB AX,'0' INC SI LOOP GET_NUM POP SI POP CX POP BX RET STR_TO_NUM ENDP GET_AVERAGE PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX MOV CX,0 MOV AX,0 MOV DX,0 REPEATR: CMP CL,STU_NUM JAE OUT_PUT PUSH AX PUSH CX MOV AX,CX GET_STU POP CX POP AX ADD AX,[BX].SOCRE ADC DX,0 INC CL JMP REPEATR OUT_PUT: MOV CL,STU_NUM MOV CH,0 OR CL,0 JNZ END_AVE INC CX END_AVE: DIV CX ; ENDL CALL PSCORE ENDL POP DX POP CX POP BX POP AX RET GET_AVERAGE ENDP GET_SAT PROC NEAR PUSH AX PUSH BX PUSH CX MOV N_6,0 MOV N67,0 MOV N78,0 MOV N89,0 MOV N9_,0 MOV CX,0 SAT_IN: CMP CL,STU_NUM JAE SAT_OUT PUSH AX PUSH CX MOV AX,CX GET_STU POP CX POP AX INC CL MOV AX,[BX].SOCRE CMP AX,60 JB I_6 CMP AX,70 JB I67 CMP AX,80 JB I78 CMP AX,90 JB I89 INC N9_ JMP SAT_IN I_6: INC N_6 JMP SAT_IN I67: INC N67 JMP SAT_IN I78: INC N78 JMP SAT_IN I89: INC N89 JMP SAT_IN SAT_OUT: MOV AH,0 PS M_6 MOV AL,N_6 CALL PNUM ENDL PS M67 MOV AL,N67 CALL PNUM ENDL PS M78 MOV AL,N78 CALL PNUM ENDL PS M89 MOV AL,N89 CALL PNUM ENDL PS M9_ MOV AL,N9_ CALL PNUM ENDL POP CX POP BX POP AX RET GET_SAT ENDP PRINT_SEQ PROC NEAR PUSH AX PUSH BX LEA BX,STU_SEQ PRINT_SEQ_START: MOV AL,[BX] CMP AL,'$' JZ PRINT_SEQ_END MOV AH,0 CALL PSTU INC BX JMP PRINT_SEQ_START PRINT_SEQ_END: POP BX POP AX RET PRINT_SEQ ENDP NUM_SORT PROC NEAR PUSH BX PUSH DX MOV DL,0 LEA BX,STU_SEQ SORT_START: CMP DL,STU_NUM JAE SORT_END MOV BYTE PTR [BX],DL INC BX INC DL JMP SORT_START SORT_END: MOV BYTE PTR [BX],'$' CMP STU_NUM,1 JLE NON_NUM MOV CL,STU_NUM DEC CL MOV CH,0 LOOP1: MOV DI,CX LEA BX,STU_SEQ LOOP2: MOV AL,BYTE PTR [BX] MOV AH,0 PUSH BX GET_STU MOV DX,[BX].NUM POP BX MOV AL,BYTE PTR [BX+1] PUSH BX GET_STU CMP DX,BX.[NUM] POP BX JAE CONTI MOV AL,BYTE PTR [BX] XCHG AL,BYTE PTR [BX+1] MOV BYTE PTR [BX],AL CONTI: INC BX LOOP LOOP2 MOV CX,DI LOOP LOOP1 NON_NUM: POP DX POP BX RET NUM_SORT ENDP SCORE_SORT PROC NEAR PUSH BX PUSH DX MOV DL,0 LEA BX,STU_SEQ SCORE_START: CMP DL,STU_NUM JAE SCORE_END MOV BYTE PTR [BX],DL INC BX INC DL JMP SCORE_START SCORE_END: MOV BYTE PTR [BX],'$' CMP STU_NUM,1 JLE SNON_NUM MOV CL,STU_NUM DEC CL MOV CH,0 SLOOP1: MOV DI,CX LEA BX,STU_SEQ SLOOP2: MOV AL,BYTE PTR [BX] MOV AH,0 PUSH BX GET_STU MOV DX,[BX].SCORE POP BX MOV AL,BYTE PTR [BX+1] PUSH BX GET_STU CMP DX,BX.[SCORE] POP BX JAE SCONTI MOV AL,BYTE PTR [BX] XCHG AL,BYTE PTR [BX+1] MOV BYTE PTR [BX],AL SCONTI: INC BX LOOP SLOOP2 MOV CX,DI LOOP SLOOP1 SNON_NUM: POP DX POP BX RET SCORE_SORT ENDP CODE ENDS END START ``` 程序在RADASM和MASMPLUS上跑出来的反馈的错误都是一样的: E:\MASM5\huibian.asm(179) : error A2006: undefined symbol : XNAME MEMCPY(9): Macro Called From E:\MASM5\huibian.asm(179): Main Line Code E:\MASM5\huibian.asm(188) : error A2006: undefined symbol : XCLASS MEMCPY(9): Macro Called From E:\MASM5\huibian.asm(188): Main Line Code E:\MASM5\huibian.asm(196) : error A2006: undefined symbol : NUM E:\MASM5\huibian.asm(204) : error A2006: undefined symbol : SOCRE E:\MASM5\huibian.asm(300) : error A2006: undefined symbol : XNAME PS(3): Macro Called From E:\MASM5\huibian.asm(300): Main Line Code E:\MASM5\huibian.asm(303) : error A2006: undefined symbol : CLASS PS(3): Macro Called From E:\MASM5\huibian.asm(303): Main Line Code E:\MASM5\huibian.asm(306) : error A2006: undefined symbol : NUM E:\MASM5\huibian.asm(310) : error A2006: undefined symbol : SCORE E:\MASM5\huibian.asm(362) : error A2006: undefined symbol : SOCRE E:\MASM5\huibian.asm(410) : error A2006: undefined symbol : SOCRE E:\MASM5\huibian.asm(527) : error A2006: undefined symbol : NUM E:\MASM5\huibian.asm(533) : error A2006: undefined symbol : NUM E:\MASM5\huibian.asm(588) : error A2006: undefined symbol : SCORE E:\MASM5\huibian.asm(594) : error A2006: undefined symbol : SCORE E:\MASM5\huibian.asm(120) : error A2004: symbol type conflict E:\MASM5\huibian.asm(615) : warning A4023: with /coff switch, leading underscore required for start address : START 构建时发生错误. 总共编译时间 874 毫秒 改来改去发现无从下手,如果要放弃结构体的话应该也是可以写的,但是觉得改起来太麻烦了,不知道诸位有没有办法。。。。
为什么debug里东西不怎么变?
电脑时刻在运行,cpu里的东西不应该是一直在变得吗?我在学汇编,为什么debug时多次r命令,寄存器里的东西不变呐?
关于lock指令的顺序 (volatile 反汇编结果)
``` public class ez { public static volatile int mdc = 1; public static void main(String[] args){ for(int i = 1; i < 10000000; i ++){ } mdc+=1; } } ``` 我将上面的代码反汇编之后 ``` 0x0000000002caa28c: movabs $0xd6099b28,%r10 ; {oop(a 'java/lang/Class' = 'jk/ez')} 0x0000000002caa296: mov 0x68(%r10),%r8d 0x0000000002caa29a: inc %r8d 0x0000000002caa29d: mov %r8d,0x68(%r10) 0x0000000002caa2a1: lock addl $0x0,(%rsp) ;*putstatic mdc ; - jk.ez::main@19 (line 14) ``` mov %r8d,0x68(%r10) 是把变量mdc压入内存的操作没错吧,但是为什么lock指令在这之后呢?不应该把变量mdc压入之前就先锁总线或者锁缓存行么?恳请赐教
关于8086汇编,int21写入文件不成功,文件为空
;rddisk.asm ;function:创建一个save.txt,并把0磁头0磁柱1扇区数据读取过去 assume cs:code,ds:data data segment file db 'save.txt',0 data ends code segment start: mov ax,data mov ds,ax mov ax,0 mov es,ax ;创建文件save.txt mov dx,offset file mov cx,0 mov ah,3cH int 21H ;将0磁头,0柱面,1扇区读取到0:200内存区 mov bx,200H mov ah,2 mov al,1 mov ch,0 mov cl,1 mov dh,0 mov dl,80H int 13H ;打开save.txt mov dx,offset file mov al,1 mov ah,3dH int 21h ;将0:200写入save.txt mov bx,0 mov ds,bx mov dx,200H mov bx,ax mov cx,256 mov ah,40H int 21H ;关闭文件 mov ah,3eH int 21H mov ax,4c00H int 21H code ends end start
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了无数
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外
大学四年自学走来,这些珍藏的「实用工具/学习网站」我全贡献出来了
知乎高赞:文中列举了互联网一线大厂程序员都在用的工具集合,涉及面非常广,小白和老手都可以进来看看,或许有新收获。
《阿里巴巴开发手册》读书笔记-编程规约
Java编程规约命名风格 命名风格 类名使用UpperCamelCase风格 方法名,参数名,成员变量,局部变量都统一使用lowerCamelcase风格 常量命名全部大写,单词间用下划线隔开, 力求语义表达完整清楚,不要嫌名字长 ...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前前言 为啥今天有个前前言呢? 因为你们的丙丙啊,昨天有牌面了哟,直接被微信官方推荐,知乎推荐,也就仅仅是还行吧(心里乐开花)
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
Python爬虫精简步骤1 获取数据
爬虫的工作分为四步: 1.获取数据。爬虫程序会根据我们提供的网址,向服务器发起请求,然后返回数据。 2.解析数据。爬虫程序会把服务器返回的数据解析成我们能读懂的格式。 3.提取数据。爬虫程序再从中提取出我们需要的数据。 4.储存数据。爬虫程序把这些有用的数据保存起来,便于你日后的使用和分析。 这一篇的内容就是:获取数据。 首先,我们将会利用一个强大的库——requests来获取数据。 在电脑上安装
Python绘图,圣诞树,花,爱心 | Turtle篇
1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle() circle.shape('circle') circle.color('red') circle.speed('fastest') circle.up() square = turtle.Turtle()
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 更多有趣分析教程,扫描下方二维码关注vx公号「裸睡的猪」 即可查看! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。   再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。   下文是原回答,希望能对你能有所启发。   如果我说,这个世界上人真的分三六九等,
为什么听过很多道理,依然过不好这一生?
记录学习笔记是一个重要的习惯,不希望学习过的东西成为过眼云烟。做总结的同时也是一次复盘思考的过程。 本文是根据阅读得到 App上《万维钢·精英日课》部分文章后所做的一点笔记和思考。学习是一个系统的过程,思维模型的建立需要相对完整的学习和思考过程。以下观点是在碎片化阅读后总结的一点心得总结。
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
如何优雅地打印一个Java对象?
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下)。 在一个月黑风高的夜晚,我思前想后,觉得再也不能这么蹉跎下去了。于是痛下决心,准备通过输出的方式倒逼输入,以此来修炼自己的内功,从而进阶成为一名真正意义上的大神。与此同时,希望这些文章能够帮助到更多的读者,让大家在学习的路上不再寂寞、空虚和冷。 ...
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计
Linux 命令(122)—— watch 命令
1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 [1] watch(1) manual
Linux 命令(121)—— cal 命令
1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 [1] cal(1) manual
记jsp+servlet+jdbc实现的新闻管理系统
1.工具:eclipse+SQLyog 2.介绍:实现的内容就是显示新闻的基本信息,然后一个增删改查的操作。 3.数据库表设计 列名 中文名称 数据类型 长度 非空 newsId 文章ID int 11 √ newsTitle 文章标题 varchar 20 √ newsContent 文章内容 text newsStatus 是否审核 varchar 10 news...
Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(三)发送篇
今天介绍的项目是使用 Itchat 发送统计报告 项目功能设计: 定时爬取疫情数据存入Mysql 进行数据分析制作疫情报告 使用itchat给亲人朋友发送分析报告(本文) 基于Django做数据屏幕 使用Tableau做数据分析 来看看最终效果 目前已经完成,预计2月12日前更新 使用 itchat 发送数据统计报告 itchat 是一个基于 web微信的一个框架,但微信官方并不允
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧...... 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升
相关热词 c#开发的dll注册 c#的反射 c# grid绑定数据源 c#多线程怎么循环 c# 鼠标左键 c# char占位符 c# 日期比较 c#16进制转换为int c#用递归求顺序表中最大 c#小型erp源代码
立即提问