使用dev c++无法调试?

已经将dev c++的产生调试信息设置为yes。但是每当点击调试就会出现黑框程序,然后输入数据按回车,就会退出调试。

->->pre-prompt
(gdb)
->->prompt

->->post-prompt
Reading symbols from C:/Users/69540/Desktop/C,C++程序/test5.exe...done.

->->pre-prompt
(gdb)
->->prompt

->->post-prompt
Source directories searched: E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd

->->pre-prompt
(gdb)
->->prompt

->->post-prompt
Source directories searched: E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib;E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd

->->pre-prompt
(gdb)
->->prompt

->->post-prompt
Source directories searched: E:/Dev-Cpp/MinGW64/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib;E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd

->->pre-prompt
(gdb)
->->prompt

->->post-prompt
Source directories searched: E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include;E:/Dev-Cpp/MinGW64/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib;E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd

->->pre-prompt
(gdb)
->->prompt

->->post-prompt
Source directories searched: E:/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include;E:/Dev-Cpp/MinGW64/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib;E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd

->->pre-prompt
(gdb)
->->prompt

->->post-prompt
Source directories searched: E:/Dev-Cpp/MinGW64/include;E:/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib;E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd

->->pre-prompt
(gdb)
->->prompt

->->post-prompt
Source directories searched: E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include;E:/Dev-Cpp/MinGW64/include;E:/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib;E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd

->->pre-prompt
(gdb)
->->prompt

->->post-prompt
Source directories searched: E:/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include;E:/Dev-Cpp/MinGW64/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib;E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd

->->pre-prompt
(gdb)
->->prompt

->->post-prompt
Source directories searched: E:/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++;E:/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include;E:/Dev-Cpp/MinGW64/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib;E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd

->->pre-prompt
(gdb)
->->prompt

->->post-prompt
Breakpoint 1 at 0x40153d: file C:\Users\69540\Desktop\C,C++程序\test5.cpp, line 4.

->->breakpoints-invalid

->->pre-prompt
(gdb)
->->prompt

->->post-prompt

->->pre-prompt
(gdb)
->->prompt

->->post-prompt

->->pre-prompt
(gdb)
->->prompt

->->post-prompt

->->pre-prompt
(gdb)
->->prompt

->->post-prompt
Working directory C:\Users\69540\Desktop\C,C++程序.

->->pre-prompt
(gdb)
->->prompt

->->post-prompt
Starting program: C:\Users\69540\Desktop\C,C++程序\test5.exe
[New Thread 11972.0x2e40]

->->new-thread
[New Thread 11972.0x27c0]

->->new-thread

->->error-begin

1个回答

试试这个,不行就换几个版本图片说明

qq_42276781
Toblerone_Wind 你好,建议重新下载一个dev,如果方便留下邮箱,我发你一个安装包
7 个月之前 回复
weixin_45261707
管仁阳 试过了,没有作用
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用dev c++无法调试?
已经将dev c++的产生调试信息设置为yes。但是每当点击调试就会出现黑框程序,然后输入数据按回车,就会退出调试。 ->->pre-prompt (gdb) ->->prompt ->->post-prompt Reading symbols from C:/Users/69540/Desktop/C,C++程序/test5.exe...done. ->->pre-prompt (gdb) ->->prompt ->->post-prompt Source directories searched: E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd ->->pre-prompt (gdb) ->->prompt ->->post-prompt Source directories searched: E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib;E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd ->->pre-prompt (gdb) ->->prompt ->->post-prompt Source directories searched: E:/Dev-Cpp/MinGW64/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib;E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd ->->pre-prompt (gdb) ->->prompt ->->post-prompt Source directories searched: E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include;E:/Dev-Cpp/MinGW64/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib;E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd ->->pre-prompt (gdb) ->->prompt ->->post-prompt Source directories searched: E:/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include;E:/Dev-Cpp/MinGW64/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib;E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd ->->pre-prompt (gdb) ->->prompt ->->post-prompt Source directories searched: E:/Dev-Cpp/MinGW64/include;E:/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib;E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd ->->pre-prompt (gdb) ->->prompt ->->post-prompt Source directories searched: E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include;E:/Dev-Cpp/MinGW64/include;E:/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib;E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd ->->pre-prompt (gdb) ->->prompt ->->post-prompt Source directories searched: E:/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include;E:/Dev-Cpp/MinGW64/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib;E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd ->->pre-prompt (gdb) ->->prompt ->->post-prompt Source directories searched: E:/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++;E:/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include;E:/Dev-Cpp/MinGW64/include;E:/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib;E:/Dev-Cpp/MinGW64/lib;$cdir;$cwd ->->pre-prompt (gdb) ->->prompt ->->post-prompt Breakpoint 1 at 0x40153d: file C:\Users\69540\Desktop\C,C++程序\test5.cpp, line 4. ->->breakpoints-invalid ->->pre-prompt (gdb) ->->prompt ->->post-prompt ->->pre-prompt (gdb) ->->prompt ->->post-prompt ->->pre-prompt (gdb) ->->prompt ->->post-prompt ->->pre-prompt (gdb) ->->prompt ->->post-prompt Working directory C:\Users\69540\Desktop\C,C++程序. ->->pre-prompt (gdb) ->->prompt ->->post-prompt Starting program: C:\Users\69540\Desktop\C,C++程序\test5.exe [New Thread 11972.0x2e40] ->->new-thread [New Thread 11972.0x27c0] ->->new-thread ->->error-begin
dev c++5.11,调试点击下一步没反应
刚开始使用dev c++5.11,按照网上设置NO改成YES,以及-g3和gcc.exe -D__DEBUG__四处修改。在设置断点调试时,点击下一步没有反应?win7系统,请问要怎么解决呢?
Dev—c++怎么调试,有没有视频资源分享
我dev c++不知道怎么调试,我百度了好久,按上面操作却根本没反应,不知道怎么操作,大神分享下资源啊
新安装的Dev c++为什么不能调试
![图片说明](https://img-ask.csdn.net/upload/201608/16/1471332060_668775.png) 新安装的dev c++为什么不能调试,出现了这样的提示
Dev-c++ 调试功能如何设置
1、在“工具”-》编译选项-》"Add following commands when calling complier"下面的编辑框里加上:-g3 2、在下面的"Add these commands to the linker command line" 下的编辑框上加上:-g3 3、转到programs页,把gcc行修改为:gcc.exe -D__DEBUG__ 4、把g++行修改为g++.exe -D__DEBUG__ ,点击ok。 这是我在网上搜索到的 设置后却出现这样的问题 ![图片说明](https://img-ask.csdn.net/upload/201506/18/1434592337_606836.png)
dev c++5.11调试时出现的问题
开始调试数据时,当一步步运行到memset函数的时候就无法再往下一步调试了,遇到关于stl的库函数也是一样的问题,这是为什么啊?
Dev C++中调试时怎么查看不同的同名变量
如题,我有时在不同函数中的定义了同名的局部变量,调试时想要分别查看它们。但在添加查看中敲入变量名只能查看一个变量,所以想要知道应该如何查看它们,谢谢。
c程序软件安装问题,导致不能调试,如何破
dev_c++打开会说tdmgcc4.9.2 32_bit release c目录下minge64不存在,调试的时候导致自动关闭软件
我在Dev-C++写完代码,试图运行时,弹出程序框提示“exe已停止运行”,当我试图调试代码时,无法进入下一步,一直停滞在断点处,且所添加查看的变量均无值。我想知道原因。
代码想实现的功能为“相邻数字的基数等比确定进制”: 描述6*9 = 42 对于十进制来说是错误的,但是对于13进制来说是正确的。即, 6(13) * 9(13) = 42(13), 而 42(13) = 4 * 131 + 2 * 130 = 54(10)。 你的任务是写一段程序读入三个整数p、q和 r,然后确定一个进制 B(2<=B<=16) 使得 p * q = r. 如果 B有很多选择, 输出最小的一个。例如: p = 11, q = 11, r = 121. 则有 11(3) * 11(3) = 121(3) 因为 11(3) = 1 * 31 + 1 * 30 = 4(10) 和 121(3) = 1 * 32 + 2 * 31 + 1 * 30 = 16(10)。 对于进制 10,有 11(10) * 11(10) = 121(10)。这种情况下,应该输出 3。如果没有合适的进制,则输出 0。 输入: 输入有 T组测试样例。 T在第一行给出。每一组测试样例占一行,包含三个整数p、q、r。 p、q、r的所有位都是数字,并且1 <= p、q、r <= 1,000,000。 输出: 对于每个测试样例输出一行。该行包含一个整数:即使得p * q = r成立的最小的B。如果没有合适的B,则输出 0。 我的代码如下: ``` #include <stdio.h> int main (void) { int N,i,B,k; long p,q,r; int a[3][7],b[3];/*a[3]用于存储p、q、r的各位数;b[3]用于存储p、q、r的位数*/ scanf ("%d",&N); for (i=0;i<N;i++) { do { scanf ("%ld %ld %ld",&p,&q,&r); }while (p<1||q<1||r>1000000); for (k=0;p&&k<7;k++) { a[0][k]=p%10; p=p/10; } b[0]=k;/*计算p的各位数以及p的位数*/ for (k=0;q&&k<7;k++) { a[1][k]=q%10; q=q/10; } b[1]=k;/*计算q的各位数以及q的位数*/ for (k=0;r&&k<7;k++) { a[2][k]=r%10; r=r/10; } b[2]=k;/*计算r的各位数以及r的位数*/ for (B=2;B&&(B<=16);B++) { for (k=b[0]-1;k>=0;k++) p=p*B+a[0][k];/*计算p的B进制*/ for (k=b[1]-1;k>=0;k++) q=q*B+a[1][k];/*计算q的B进制*/ for (k=b[2]-1;k>=0;k++) r=r*B+a[2][k];/*计算r的B进制*/ if (p*q==r) break; else if (B==16) B=-1; } printf ("%d\n",B); } return 0; } ``` 调试过程如图 ![图片说明](https://img-ask.csdn.net/upload/201912/18/1576674123_459579.png)
DevC++调试不能单步进行
刚刚从官网上下载的Dev C++安装后就开始开心得编程序了,然而代码除了问题,想要调试的 时候遇到了问题,先是一点调试就崩溃,看教程说把连接器里的是否显示调试信息改成YES, 这么做了之后点击调试就不再崩溃了,但是没有办法单步调试,点击调试的按钮就必须在弹出的黑框里输入全部数据,点击下一步也不移动,输完数据后按回车就直接输出结果,没有办法查看运行过程,求大神解决帮忙解决!!!
Linux触摸屏事件上报的流程,evdev.c和tsdev.c到底走哪一路
各位好: 最近在调试touch screen,在dev目录下会生成event0和ts0这两个设备节点,想知道他们有什么区别,难道要open打开的时候需要打开两个吗?看网上的测试案例大都是打开/dev/event0,按说上报事件的话会走tsdev.c啊,就应该使用/dev/ts0节点啊。这点一直有点混乱,请各位指点。谢谢
C语言单步调试中cannot access memory at address...
#include <stdio.h> #include <malloc.h> #include <string.h> typedef struct books { long ISBN; //图书ISBN float BPrice; //图书定价 char BNumber[10]; //图书索引号 规定索引号为首位大写字母,后三位数字“F390” char *BName; //图书名字 char *IsBorrow; //图书借阅状态 struct books *next; }MyBooks; //初始化 void BooksInitiate(MyBooks **head) { *head=(MyBooks *)malloc(sizeof(MyBooks)); (*head)->next=NULL; (*head)->ISBN=0; /*两个结构体变量在进行赋值时,不能直接通过变量名赋值,必须通过元素赋值 */ (*head)->BPrice=0; (*head)->BNumber[10]=0; (*head)->BName=" "; (*head)->IsBorrow=" "; } //根据输入位置插入图书 int BooksInsert(MyBooks *head) { MyBooks *p,*q; struct books bk; int j,i; p=head; j=-1; printf("请输入插入图书的位置:"); scanf("%d",&i); //输入图书的存储位置 printf("请输入图书的信息:\n"); printf("***************************\n"); printf("书名:"); scanf("%s",&bk.BName); printf("\n"); printf("ISBN:"); scanf("%d",&bk.ISBN); printf("\n"); printf("定价:"); scanf("%f",&bk.BPrice); printf("\n"); printf("索引号:"); scanf("%s",&bk.BNumber[10]); printf("\n"); printf("借阅状态:"); scanf("%s",&bk.IsBorrow); printf("****************************\n"); while(p->next!=NULL&&j<i-1) { p=p->next; j++; } if(j!=i-1) { printf("插入元素位置参数错误!"); return 0; } else { q=(MyBooks *)malloc(sizeof(MyBooks)); q->ISBN=bk.ISBN; q->BPrice=bk.BPrice; q->BNumber[10]=bk.BNumber[10]; q->BName=bk.BName; q->IsBorrow=bk.IsBorrow; q->next=p->next; p->next=q; printf("插入成功!\n"); return 1; //遇到return则结束程序 } } //根据书名查找图书 int BooksGet(MyBooks *head) { MyBooks *p; char *name; name = (char*)malloc(sizeof(char) * 100); //字符指针必须申请空间才能存储 p=head; //输入查找图书的名字 printf("请输入查询图书的名字:") ; scanf("%s",name); while(p->next!=NULL&&strcmp(p->BName,name)!=0) //在进行结构体内元素比较时,结构体内的元素必须初始化 { p=p->next; } if(strcmp(p->BName,name)==0) { //输出该图书信息 printf("书名:%s\n",p->BName); printf("ISBN:%d\n",p->ISBN); printf("定价:%f\n",p->BPrice); printf("索引号:%s\n",p->BNumber[10]); printf("借阅状态:%s\n",p->IsBorrow); return 1; } else { printf("对不起,无此书信息!\n"); } } //主函数 int main() { MyBooks *head; BooksInitiate(&head); BooksInsert(head); BooksGet(head); } 求大神们,帮忙看看,我用的是Dev c++,编译器并没有报错,主要问题在BooksGet()函数里,我单步调试的时候,第一次走到while(p->next!=NULL&&strcmp(p->BName,name)!=0),p->BName是我的初始值(一个空字符串),第二次走到p->BName的时候,是我存入的那个值(也就是“亲爱的生活”),这时候把鼠标放在p->BName上时,才显示cannot access memory ataddress 0x .......了。如果 强行下一步,就会弹出错误 Program receive signal SIGSEGV,Segmentation fault。 ![![图片说明](https://img-ask.csdn.net/upload/201706/21/1498058895_781850.png)图片说明](https://img-ask.csdn.net/upload/201706/21/1498058875_823545.png)
mac 打开串口 tty.usbserial 卡住?
我用 java 调用 c++代码 : fd = open(path_utf, O_RDWR | flags); 其中 path_utf _是/dev/tty.usbserial,然后就一直卡在这个函数。没有调用c++之前,我自己用串口调试工具,是可以正常打开的。但是我调用了这句代码后,串口调试工具也打不开了,而且,mac重启也重启不了,必须长按关机键,在重启。请问这是怎么了?为什么连不上串口?
vue打包后iphone 5c ios10.3.3打开报错,调试时无错误. 求解决办法
### 问题描述: 公司测试小哥的苹果5c在本地调试的时候是可以打开的. 蓝后.. 打包后页面打开空白,在别的手机上表现良好.(可能安卓低版本也会报错吧) ### 环境背景及尝试过的方法: 出现问题的手机是 10.3ios版本的苹果5c 问题出现后, 我尝试加载 babel-polyfill,es6-promise但没有卵用,依旧报同样的错误 ### 相关代码 ``` main.js中 import 'babel-polyfill' import Es6Promise from 'es6-promise' require('es6-promise').polyfill() Es6Promise.polyfill() webpack.base.conf.js中也尝试过 entry: { app: ["babel-polyfill","./src/main.js"] } ``` ### 报错 1. SyntaxError: Cannot declare a let variable twice: 't'. vendor.js 2. TypeError: undefined is not an object (evaluating 'r[n].call') 各位大佬请问是我的开发方式不对吗? 寻求解决办法 .babelrc 代码 ``` { "presets": [ ["env", { "modules": false, "targets": { "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] } }], "stage-2" ], "plugins": ["transform-vue-jsx", "transform-runtime"], "env": { "test": { "presets": ["env", "stage-2"], "plugins": ["istanbul"] } } } ``` webpack.base.conf.js ``` 'use strict' const path = require('path') const utils = require('./utils') const config = require('../config') const vueLoaderConfig = require('./vue-loader.conf') function resolve (dir) { return path.join(__dirname, '..', dir) } module.exports = { context: path.resolve(__dirname, '../'), entry: { app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, filename: '[name].js', publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath }, plugins: [ new webpack.ProvidePlugin({ $: "jquery", jQuery: "jquery", "windows.jQuery": "jquery" }) ], resolve: { extensions: ['.js', '.vue', '.json'], alias: { 'vue$': 'vue/dist/vue.esm.js', '@': resolve('src'), } }, module: { rules: [ { test: /\.vue$/, loader: 'vue-loader', options: vueLoaderConfig }, { test: /\.js$/, loader: 'babel-loader', include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')] }, { test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, loader: 'url-loader', options: { limit: 10000, name: utils.assetsPath('img/[name].[hash:7].[ext]') } }, { test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, loader: 'url-loader', options: { limit: 10000, name: utils.assetsPath('media/[name].[hash:7].[ext]') } }, { test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, loader: 'url-loader', options: { limit: 10000, name: utils.assetsPath('fonts/[name].[hash:7].[ext]') } } ] }, node: { // prevent webpack from injecting useless setImmediate polyfill because Vue // source contains it (although only uses it if it's native). setImmediate: false, // prevent webpack from injecting mocks to Node native modules // that does not make sense for the client dgram: 'empty', fs: 'empty', net: 'empty', tls: 'empty', child_process: 'empty' } } ```
c++ addon在electron中,提示 not a valid win32 application
大致情况: 用electron开发一个桌面客户端,实现客户端启动后全屏,同时保持客户端始终是在最前面,防止用户进入后台才做资源管理器; 用c++编写了个node的addon,electron-rebuild后,在electron的主线程中引用; 问题来了,编写的addon直接用node test.js可以正常运行,集成到electron代码里面,运行npm run dev后,客户端启动不起来,报错如下: App threw an error during load Error: Cannot open D:\projects\node_modules\lockscreen\build\Rele ase\lockscreen.node,lockscreen.node is not a valid Win32 application. 百度了很多信息都没法解决,后面直接npm run build打包,运行客户端功能居然生效了,很奇怪为啥在开发模式下不能运行,主要是觉得不方便修改调试。 有了解的老铁指点下,非常感谢。
上位机串口与stm32连接,如何编写上位机代码
想要实现在pc上用串口传递信息给stm32板子,不想用串口调试助手,想直接在dev c++或者vc,vs上运行程序,然后 直接把想要传递的字符串串口传递给板子。希望大神可以帮忙指导,不胜感激,如果能很快解决的话悬赏增加,学生党,求大神指导。也可以发邮箱a4507408789@163.com
【c-WinAPI】 程序运行崩溃(自己写的函数出错),求大神帮忙!!!
# !!!各位这个问题不用看了,c币给错了,我重投了另一个问题,给了40币,大家可以用我的这个标题找到(只要在后面再填一个感叹号就是新的),抱歉!!! # 先行说明: ## 工程简要说明 说明下,这个工程一共5个文件(两个头文件,三个资源文件): 头文件中,一个是宏定义用文件【WinMacro.h】,另一个是函数声明用文件【WinHead.h】; 资源文件中,一个是窗口注册文件(基本可以忽略)【WinMain.c】,第二个是窗口过程文件【WinProc.c】,最后一个里是函数定义文件(主要出错的地方)【WinSupport.c】。 ## 编译器介绍 这里我用的是Dev c++ (v.5.11)编译器,有段时间入了学生联赛的坑,然后现在就有点停不下来,对VC没什么好感,emmm。 ## 对于ERROR的探索 我本来是希望用TextOut函数做一个模拟DrawText函数的新函数:TextPrint,后续还想给它添加一些独特的输出特效,不过现在看来都运行不了(一运行就立即报错,但是编译没问题),尴尬。 万恶的Dev c++调试功能有问题,找了很长时间解决办法之后,就调试了一下,结果就...完全看不懂了。 在下面我标注的【图6】第27行(WinSupport.c)这里单步调试会终止,并弹出显示: > program received signal SIGFPE, Airthmetic expection 然后会显示 Windows CPU 运行表(大概是这个叫法...),但还是看不懂。所以我后面修改了代码,把27、28行都改成了将那两个变量赋值为常数2,而不是即时计算。 顺便改了一下74行,把pcText换成了pChar (74行这里是自己发现的逻辑错误)。 现在各位看到的代码是最初的版本,上面的修改在下面附的代码里都未体现。不是说我懒的修改,而是因为我想把这里弄明白,到底是什么原因。 修改后的代码其实也有问题,那就是虽然可以运行,但是假如在一个矩形内输出了n(n>1)行,那么只有第一行能被保留(啊啊啊,要疯了!!!) ## 最终预期功能 嗯,这里在重申一下,那个TextPrint函数是低配版的DrawText函数,功能就是指定一个矩形,然后向矩形范围内输出(每行填满后自动换行)(假如要输出的内容填满了整个矩形都没有输出完,那就停止输出)。 ## 一些个人看法 自己也试了许多次,但就是不太清楚其中机理,只好劳烦各位“达人”了。 我是直接看书自学的WinAPI,没什么耐性,就先用刚学的新函数TextOut练练手, 所以...挖了个大坑。 个人感觉应该是WinAPI"可重入"的锅,但是实在是没有接触过面向对象的编程(只会一点C),so...... ## 致谢 (.-..-.)刚刚注册的号,学生党一枚,初次提问,言谢在先! # 源代码: 【WinMacro.h】: ```c #define CLASSNAME "Program: Get Seated" #define APPNAME "Tiny Spotlessness: The Seats" #define SIZE_101 SIZEOFSTRING #define SIZEOFSTRING 100 #define EMPTY INITIAL #define INITIAL 0 #define CXSCREEN GetSystemMetrics (SM_CXSCREEN) #define CYSCREEN GetSystemMetrics (SM_CYSCREEN) #define FAULTMSG_101 FAULTMSG_WNDNTNEEDED #define FAULTMSG_WNDNTNEEDED "Fault 101: WindowsNTneeded!" ``` 【图1】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562392986_229499.png) 【WinHead.h】: ```c /*---------------------------------------------------------------- Supporting Header Files -----------------------------------------------------------------*/ #include <windows.h> #include <stdbool.h> #include "WinMacro.h" /*---------------------------------------------------------------- Supporting Value Structions -----------------------------------------------------------------*/ /*---------------------------------------------------------------- Supporting Function Statements -----------------------------------------------------------------*/ LRESULT CALLBACK WndProc ( /*--------------------------------------*/ HWND hwnd, /* Stating the Main Window Process, */ UINT message, /* a special function with four para- */ WPARAM wParam, /* meters, using the other functions. */ LPARAM lParam /*--------------------------------------*/ ); int TextPrint( /*--------------------------------------*/ HDC hdc, /* Print on any place of rect, using */ RECT *pRect, /* a pointer to rect and a pointer to */ const TEXTMETRIC *pTm, /* the text metric, a string with */ const TCHAR *pcText, /* its length, and return the number */ int iLenth /* of the characters outputted. */ ); ``` 【图2】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393250_936313.png) 【图3】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393275_813852.png) 【WinMain.c】: ```c /*-------------------------------------- WinMain.c, (c) Shen Pengfei, 2019 --------------------------------------*/ #include "WinHead.h" int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow ) { TCHAR szClassName[] = TEXT (CLASSNAME); TCHAR szAppName[] = TEXT (APPNAME); HWND hwnd; MSG msg; WNDCLASS wndclass; wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc; wndclass.cbClsExtra = EMPTY; wndclass.cbWndExtra = EMPTY; wndclass.hInstance = hInstance; wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION); wndclass.hCursor = LoadCursor (NULL, IDC_ARROW); wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH); wndclass.lpszClassName = szClassName; wndclass.lpszMenuName = NULL; if (!RegisterClass (&wndclass)) { MessageBox ( NULL, TEXT (FAULTMSG_WNDNTNEEDED), szAppName, MB_ICONERROR ); return EMPTY; } hwnd = CreateWindow ( szClassName, /* window class name */ szAppName, /* window caption name */ WS_OVERLAPPEDWINDOW | WS_VSCROLL, /* window style */ INITIAL, /* initial x position */ INITIAL, /* initial y position */ CXSCREEN, /* initial x size */ CYSCREEN, /* initial y size */ NULL, /* parent window handle */ NULL, /* window menu handle */ hInstance, /* program instance handle */ NULL /* creation parameters */ ); ShowWindow (hwnd, iCmdShow); UpdateWindow (hwnd); while (GetMessage (&msg, NULL, EMPTY, EMPTY)) { TranslateMessage (&msg); DispatchMessage (&msg); } return msg.wParam; } ``` 【图4】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393472_122237.png) 【图5】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393485_726445.png) 【WinSupport.c】: ```c /*------------------------------------------------ (c) Shen PengFei, 2019 A file to set up some functions to complite some special tasks. -------------------------------------------------*/ #include "WinHead.h" int TextPrint ( HDC hdc, RECT *pRect, const TEXTMETRIC *pTm, const TCHAR *pcText, int iLenth ) { static int iLine; static int iRaw; static int iCount; static const TCHAR *pChar; /*-------------------------------------------- Count the width and the Height of the screen, by the way, creating a pointer copying the address of initial string ---------------------------------------------*/ iLine = (pRect->right - pRect->left) / pTm->tmAveCharWidth; iRaw = (pRect->bottom - pRect->top) / (pTm->tmHeight + pTm->tmExternalLeading); pChar = pcText; for ( iCount = INITIAL; /*------------------------------------------------ To prevent the number of charaters outputt -ed on the screen from overring the string's, check if the result value of [PCHAR minus PCTEXT] was not larger than the length of the string. And also, to prevent the strin -g's overring the initial rect, check if the raw number over the max value counted and called IRAW. -------------------------------------------------*/ pChar - pcText < iLenth && iCount <= iRaw; /*------------------------------------------------ Change the outputting address of each raw, the position of the changed pointer to the string and Add the cyclelatte times value in turn each time, to end the running in time. -------------------------------------------------*/ pRect->top += pTm->tmHeight + pTm->tmExternalLeading, pChar += iLine, iCount ++ ) { /*----------------------------------------------- Solve the special condition that outputted characters' last raw is not enough to make the whole raw full, while may cause that the stuffs behind the address of the string fluent the system running. ------------------------------------------------*/ if ( iLenth % iLine != EMPTY && iCount == iLenth / iLine ) iLine = iLenth % iLine; TextOut ( hdc, pRect->left, pRect->top, pcText, iLine ); } /* Return the initial value used in turn */ pRect->left = pRect->top = INITIAL; return pChar - pcText; } ``` 【图6】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393526_633017.png) 【图7】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393538_23024.png) 【图8】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393576_200998.png) 【WinProc.c】: ```c /*----------------------------------------------- (c) Shen Pengfei, 2019 A file to create a series of windows, used by WINMAIN.C . ------------------------------------------------*/ #include "WinHead.h" LRESULT CALLBACK WndProc ( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) { static int cxChar; static int cyChar; static RECT rectPrint; static TCHAR szText [SIZEOFSTRING]; HDC hdc; RECT rect; PAINTSTRUCT ps; TEXTMETRIC tm; switch (message) { case WM_CREATE: rectPrint.left = INITIAL; rectPrint.top = INITIAL; rectPrint.right = CXSCREEN; rectPrint.bottom = CYSCREEN; hdc = GetDC (hwnd); /*----------------------------------------- To get the text parameters on its width and height (may with the external leading). ------------------------------------------*/ GetTextMetrics (hdc, &tm); cxChar = tm.tmAveCharWidth; cyChar = tm.tmHeight + tm.tmExternalLeading; ReleaseDC (hwnd, hdc); return EMPTY; case WM_SIZE : rectPrint.right = LOWORD (lParam); rectPrint.bottom = HIWORD (lParam); return EMPTY; case WM_PAINT: hdc = BeginPaint (hwnd, &ps); /* Debugging part */ TextPrint ( hdc, &rectPrint, &tm, szText, wsprintf ( szText, TEXT ("sdaf") ) ); EndPaint (hwnd, &ps); return EMPTY; case WM_DESTROY: PostQuitMessage (EMPTY); return EMPTY; } return DefWindowProc (hwnd, message, wParam, lParam); } ``` 【图9】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393610_312365.png) 【图10】 ![图片说明](https://img-ask.csdn.net/upload/201907/06/1562393619_968385.png)
使用libusb1.0版本在androidh 调试,但usbfs驱动并非绑定。
libusb_init(NULL); libusb_set_debug(NULL, 4); handle = libusb_open_device_with_vid_pid(NULL,0x18ec,0x3399); libusb_kernel_driver_active(handle, 1)//用于传输的是interface 1,但有点奇怪的是,这里返回的是 0. libusb_detach_kernel_driver(handle, 1) libusb_claim_interface(handle, 1) libusb_set_interface_alt_setting(handle, IfNum, altnum) libusb_control_transfer(handle, 0x21, 0x01, 0x0100, 0x0001, buf1, LENG, TIMEOUT); libusb_control_transfer(handle, 0xa1, 0x81, 0x0100, 0x0001, buf, LENG, TIMEOUT); libusb_control_transfer(handle, 0x21, 0x01, 0x0200, 0x0001, buf1, LENG, TIMEOUT); xfer = libusb_alloc_transfer(PKTS_PER_XFER); uint8_t *data = malloc(PKT_LEN*PKTS_PER_XFER); libusb_fill_iso_transfer( xfer, handle, 0x83, data, PKT_LEN*PKTS_PER_XFER, PKTS_PER_XFER, cb, NULL, TIMEOUT); printf("start ...\n"); if ( (rcv = libusb_submit_transfer(xfer)) != 0) { fprintf(stderr, "failed to submit transfer: %d\n", rcv); } 这样的代码,最后rcv返回的是 0,但是并没有回调我的回调函数。 另外。在运行我的代码前, 终端运行cat sys/kernel/debug/usb/devices显示的是: T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=18ec ProdID=3399 Rev= 1.00 S: Manufacturer=ARKMICRO S: Product=USB2.0 PC CAMERA C:* #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=200mA A: FirstIf#= 0 IfCount= 2 Cls=0e(video) Sub=03 Prot=00 A: FirstIf#= 2 IfCount= 2 Cls=01(audio) Sub=01 Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=64ms I:* If#= 1 Alt= 0 #EPs= 0 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo I: If#= 1 Alt= 1 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=83(I) Atr=05(Isoc) MxPS= 192 Ivl=125us I: If#= 1 Alt= 2 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=83(I) Atr=05(Isoc) MxPS= 384 Ivl=125us I: If#= 1 Alt= 3 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=83(I) Atr=05(Isoc) MxPS= 512 Ivl=125us I: If#= 1 Alt= 4 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=83(I) Atr=05(Isoc) MxPS= 640 Ivl=125us I: If#= 1 Alt= 5 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=83(I) Atr=05(Isoc) MxPS= 800 Ivl=125us I: If#= 1 Alt= 6 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=83(I) Atr=05(Isoc) MxPS= 960 Ivl=125us I: If#= 1 Alt= 7 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=83(I) Atr=05(Isoc) MxPS=1280 Ivl=125us I: If#= 1 Alt= 8 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=83(I) Atr=05(Isoc) MxPS=1600 Ivl=125us I: If#= 1 Alt= 9 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=83(I) Atr=05(Isoc) MxPS=1984 Ivl=125us I: If#= 1 Alt=10 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=83(I) Atr=05(Isoc) MxPS=2688 Ivl=125us I: If#= 1 Alt=11 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=83(I) Atr=05(Isoc) MxPS=3000 Ivl=125us I:* If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio I:* If#= 3 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio I: If#= 3 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio E: Ad=82(I) Atr=05(Isoc) MxPS= 96 Ivl=1ms 运行我的代码后,显示如下: T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=18ec ProdID=3399 Rev= 1.00 S: Manufacturer=ARKMICRO S: Product=USB2.0 PC CAMERA C:* #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=200mA A: FirstIf#= 0 IfCount= 2 Cls=0e(video) Sub=03 Prot=00 A: FirstIf#= 2 IfCount= 2 Cls=01(audio) Sub=01 Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=(none) E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=64ms I:* If#= 1 Alt= 0 #EPs= 0 Cls=0e(video) Sub=02 Prot=00 Driver=(none) I: If#= 1 Alt= 1 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=(none) E: Ad=83(I) Atr=05(Isoc) MxPS= 192 Ivl=125us I: If#= 1 Alt= 2 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=(none) E: Ad=83(I) Atr=05(Isoc) MxPS= 384 Ivl=125us I: If#= 1 Alt= 3 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=(none) E: Ad=83(I) Atr=05(Isoc) MxPS= 512 Ivl=125us I: If#= 1 Alt= 4 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=(none) E: Ad=83(I) Atr=05(Isoc) MxPS= 640 Ivl=125us I: If#= 1 Alt= 5 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=(none) E: Ad=83(I) Atr=05(Isoc) MxPS= 800 Ivl=125us I: If#= 1 Alt= 6 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=(none) E: Ad=83(I) Atr=05(Isoc) MxPS= 960 Ivl=125us I: If#= 1 Alt= 7 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=(none) E: Ad=83(I) Atr=05(Isoc) MxPS=1280 Ivl=125us I: If#= 1 Alt= 8 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=(none) E: Ad=83(I) Atr=05(Isoc) MxPS=1600 Ivl=125us I: If#= 1 Alt= 9 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=(none) E: Ad=83(I) Atr=05(Isoc) MxPS=1984 Ivl=125us I: If#= 1 Alt=10 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=(none) E: Ad=83(I) Atr=05(Isoc) MxPS=2688 Ivl=125us I: If#= 1 Alt=11 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=(none) E: Ad=83(I) Atr=05(Isoc) MxPS=3000 Ivl=125us I:* If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio I:* If#= 3 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio I: If#= 3 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio E: Ad=82(I) Atr=05(Isoc) MxPS= 96 Ivl=1ms 感觉就是Driver并没有绑定成功。但是在kernel中添加绑定时的log,都是正常的。 不知道是哪里出的问题。希望大神能帮忙解决!!!!!
Segematation fault 的问题
以下代码是我在练习switch语句时在DEV C++里写的时候调试会出现segematation fault 但是同样的在VS2017中却不会出现这个问题,求教!(抱拳) ``` #include <stdio.h> int main() { char ch; printf("please input A or B or C or D or E "); scanf("%c",&ch); switch(ch>='A'&&ch<='E') { case 0: switch(ch){ case 'A':printf("perfect"); case 'B':printf("good"); case 'C':printf("good"); case 'D':printf("pass"); case 'E':printf("pass"); } case 1: if(ch>'E'&&ch<='Z') printf("not pass"); else printf("input fault"); } return 0; } ```
动态规划入门到熟悉,看不懂来打我啊
持续更新。。。。。。 2.1斐波那契系列问题 2.2矩阵系列问题 2.3跳跃系列问题 3.1 01背包 3.2 完全背包 3.3多重背包 3.4 一些变形选讲 2.1斐波那契系列问题 在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n&gt;=2,n∈N*)根据定义,前十项为1, 1, 2, 3...
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
Python 植物大战僵尸代码实现(2):植物卡片选择和种植
这篇文章要介绍的是: - 上方植物卡片栏的实现。 - 点击植物卡片,鼠标切换为植物图片。 - 鼠标移动时,判断当前在哪个方格中,并显示半透明的植物作为提示。
防劝退!数据结构和算法难理解?可视化动画带你轻松透彻理解!
大家好,我是 Rocky0429,一个连数据结构和算法都不会的蒟蒻… 学过数据结构和算法的都知道这玩意儿不好学,没学过的经常听到这样的说法还没学就觉得难,其实难吗?真难! 难在哪呢?当年我还是个小蒟蒻,初学数据结构和算法的时候,在忍着枯燥看完定义原理,之后想实现的时候,觉得它们的过程真的是七拐八绕,及其难受。 在简单的链表、栈和队列这些我还能靠着在草稿上写写画画理解过程,但是到了数论、图...
【搞定 Java 并发面试】面试最常问的 Java 并发基础常见面试题总结!
本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star!【Java学习 面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。欢迎 Star!)。 另外推荐一篇原创:终极推荐!可能是最适合你的Java学习路线 方法 网站 书籍推荐! Java 并发基础常见面试题总结 1. 什么是线程和进程? 1.1. 何为进程? 进程是程...
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给
shell脚本:备份数据库、代码上线
备份MySQL数据库 场景: 一台MySQL服务器,跑着5个数据库,在没有做主从的情况下,需要对这5个库进行备份 需求: 1)每天备份一次,需要备份所有的库 2)把备份数据存放到/data/backup/下 3)备份文件名称格式示例:dbname-2019-11-23.sql 4)需要对1天以前的所有sql文件压缩,格式为gzip 5)本地数据保留1周 6)需要把备份的数据同步到远程备份中心,假如...
iOS Bug 太多,苹果终于坐不住了!
开源的 Android 和闭源的 iOS,作为用户的你,更偏向哪一个呢? 整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 毋庸置疑,当前移动设备操作系统市场中,Android 和 iOS 作为两大阵营,在相互竞争的同时不断演进。不过一直以来,开源的 Android 吸引了无数的手机厂商涌入其中,为其生态带来了百花齐放的盛景,但和神秘且闭源的 iOS 系统相比,不少网友...
神经⽹络可以计算任何函数的可视化证明
《Neural Networks and Deep Learning》读书笔记第四篇本章其实和前面章节的关联性不大,所以大可将本章作为小短文来阅读,当然基本的深度学习基础还是要有的。主要介绍了神经⽹络拥有的⼀种普遍性,比如说不管目标函数是怎样的,神经网络总是能够对任何可能的输入,其值(或者说近似值)是网络的输出,哪怕是多输入和多输出也是如此,我们大可直接得出一个结论:不论我们想要计算什么样的函数,...
聊聊C语言和指针的本质
坐着绿皮车上海到杭州,24块钱,很宽敞,在火车上非正式地聊几句。 很多编程语言都以 “没有指针” 作为自己的优势来宣传,然而,对于C语言,指针却是与生俱来的。 那么,什么是指针,为什么大家都想避开指针。 很简单, 指针就是地址,当一个地址作为一个变量存在时,它就被叫做指针,该变量的类型,自然就是指针类型。 指针的作用就是,给出一个指针,取出该指针指向地址处的值。为了理解本质,我们从计算机模型说起...
为什么你学不过动态规划?告别动态规划,谈谈我的经验
动态规划难吗?说实话,我觉得很难,特别是对于初学者来说,我当时入门动态规划的时候,是看 0-1 背包问题,当时真的是一脸懵逼。后来,我遇到动态规划的题,看的懂答案,但就是自己不会做,不知道怎么下手。就像做递归的题,看的懂答案,但下不了手,关于递归的,我之前也写过一篇套路的文章,如果对递归不大懂的,强烈建议看一看:为什么你学不会递归,告别递归,谈谈我的经验 对于动态规划,春招秋招时好多题都会用到动态...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序消费,我整理了一下
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
如何安装 IntelliJ IDEA 最新版本——详细教程
IntelliJ IDEA 简称 IDEA,被业界公认为最好的 Java 集成开发工具,尤其在智能代码助手、代码自动提示、代码重构、代码版本管理(Git、SVN、Maven)、单元测试、代码分析等方面有着亮眼的发挥。IDEA 产于捷克,开发人员以严谨著称的东欧程序员为主。IDEA 分为社区版和付费版两个版本。 我呢,一直是 Eclipse 的忠实粉丝,差不多十年的老用户了。很早就接触到了 IDEA...
面试还搞不懂redis,快看看这40道面试题(含答案和思维导图)
Redis 面试题 1、什么是 Redis?. 2、Redis 的数据类型? 3、使用 Redis 有哪些好处? 4、Redis 相比 Memcached 有哪些优势? 5、Memcache 与 Redis 的区别都有哪些? 6、Redis 是单进程单线程的? 7、一个字符串类型的值能存储最大容量是多少? 8、Redis 的持久化机制是什么?各自的优缺点? 9、Redis 常见性...
大学四年自学走来,这些珍藏的「实用工具/学习网站」我全贡献出来了
知乎高赞:文中列举了互联网一线大厂程序员都在用的工具集合,涉及面非常广,小白和老手都可以进来看看,或许有新收获。
为什么要推荐大家学习字节码?
配套视频: 为什么推荐大家学习Java字节码 https://www.bilibili.com/video/av77600176/ 一、背景 本文主要探讨:为什么要学习 JVM 字节码? 可能很多人会觉得没必要,因为平时开发用不到,而且不学这个也没耽误学习。 但是这里分享一点感悟,即人总是根据自己已经掌握的知识和技能来解决问题的。 这里有个悖论,有时候你觉得有些技术没用恰恰是...
互联网公司的裁员,能玩出多少种花样?
裁员,也是一门学问,可谓博大精深!以下,是互联网公司的裁员的多种方法:-正文开始-135岁+不予续签的理由:千禧一代网感更强。95后不予通过试用期的理由:已婚已育员工更有责任心。2通知接下来要过苦日子,让一部分不肯同甘共苦的员工自己走人,以“兄弟”和“非兄弟”来区别员工。3强制996。员工如果平衡不了工作和家庭,可在离婚或离职里二选一。4不布置任何工作,但下班前必须提交千字工作日报。5不给活干+...
【超详细分析】关于三次握手与四次挥手面试官想考我们什么?
在面试中,三次握手和四次挥手可以说是问的最频繁的一个知识点了,我相信大家也都看过很多关于三次握手与四次挥手的文章,今天的这篇文章,重点是围绕着面试,我们应该掌握哪些比较重要的点,哪些是比较被面试官给问到的,我觉得如果你能把我下面列举的一些点都记住、理解,我想就差不多了。 三次握手 当面试官问你为什么需要有三次握手、三次握手的作用、讲讲三次三次握手的时候,我想很多人会这样回答: 首先很多人会先讲下握...
新程序员七宗罪
当我发表这篇文章《为什么每个工程师都应该开始考虑开发中的分析和编程技能呢?》时,我从未想到它会对读者产生如此积极的影响。那些想要开始探索编程和数据科学领域的人向我寻求建议;还有一些人问我下一篇文章的发布日期;还有许多人询问如何顺利过渡到这个职业。我非常鼓励大家继续分享我在这个旅程的经验,学习,成功和失败,以帮助尽可能多的人过渡到一个充满无数好处和机会的职业生涯。亲爱的读者,谢谢你。 -罗伯特。 ...
活到老,学到老,程序员也该如此
全文共2763字,预计学习时长8分钟 图片来源:Pixabay 此前,“网传阿里巴巴要求尽快实现P8全员35周岁以内”的消息闹得沸沸扬扬。虽然很快被阿里辟谣,但苍蝇不叮无缝的蛋,无蜜不招彩蝶蜂。消息从何而来?真相究竟怎样?我们无从而知。我们只知道一个事实:不知从何时开始,程序猿也被划在了“吃青春饭”行业之列。 饱受“996ICU”摧残后,好不容易“头秃了变强了”,即将步入为“高...
Vue快速实现通用表单验证
本文开篇第一句话,想引用鲁迅先生《祝福》里的一句话,那便是:“我真傻,真的,我单单知道后端整天都是CRUD,我没想到前端整天都是Form表单”。这句话要从哪里说起呢?大概要从最近半个月的“全栈工程师”说起。项目上需要做一个城市配载的功能,顾名思义,就是通过框选和拖拽的方式在地图上完成配载。博主选择了前后端分离的方式,在这个过程中发现:首先,只要有依赖jQuery的组件,譬如Kendoui,即使使用...
2019年Spring Boot面试都问了什么?快看看这22道面试题!
Spring Boot 面试题 1、什么是 Spring Boot? 2、Spring Boot 有哪些优点? 3、什么是 JavaConfig? 4、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器? 5、Spring Boot 中的监视器是什么? 6、如何在 Spring Boot 中禁用 Actuator 端点安全性? 7、如何在自定义端口上运行 Sprin...
【图解】记一次手撕算法面试:字节跳动的面试官把我四连击了
字节跳动这家公司,应该是所有秋招的公司中,对算法最重视的一个了,每次面试基本都会让你手撕算法,今天这篇文章就记录下当时被问到的几个算法题,并且每个算法题我都详细着给出了最优解,下面再现当时的面试场景。看完一定让你有所收获 一、小牛试刀:有效括号 大部分情况下,面试官都会问一个不怎么难的问题,不过你千万别太开心,因为这道题往往可以拓展出更多有难度的问题,或者一道题看起来很简单,但是给出最优解,确实很...
关于裁员几点看法及建议
最近网易裁员事件引起广泛关注,昨天网易针对此事,也发了声明,到底谁对谁错,孰是孰非?我们作为吃瓜观众实在是知之甚少,所以不敢妄下定论。身处软件开发这个行业,近一两年来,对...
面试官:关于Java性能优化,你有什么技巧
通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。 一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。 下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧。 1.对象的生成和大小的调整。 J...
【图解算法面试】记一次面试:说说游戏中的敏感词过滤是如何实现的?
版权声明:本文为苦逼的码农原创。未经同意禁止任何形式转载,特别是那些复制粘贴到别的平台的,否则,必定追究。欢迎大家多多转发,谢谢。 小秋今天去面试了,面试官问了一个与敏感词过滤算法相关的问题,然而小秋对敏感词过滤算法一点也没听说过。于是,有了下下事情的发生… 面试官开怼 面试官:玩过王者荣耀吧?了解过敏感词过滤吗?,例如在游戏里,如果我们发送“你在干嘛?麻痹演员啊你?”,由于“麻痹”是一个敏感词,...
相关热词 c# 时间比天数 c# oracle查询 c# 主动推送 事件 c# java 属性 c# 控制台 窗体 c# 静态类存值 c#矢量作图 c#窗体调用外部程式 c# enum是否合法 c# 如何卸载引用
立即提问