程序无法启动。。。系统找不到指定文件

#include"stdafx.h"
#include
#include
#include
using namespace cv;
using namespace std;

int main(){
CString abPath = "C:\Profram Files\feiq\Recv Files\ACSImage\cache\v3.2\代表图";
getFile(abPath);
}
void changeSize(CString cs_abPath,string abSavePath,CString fileName){
Mat img = imread(cs_abPath.GetBuffer);
Mat dst;
string savePath = abSavePath +"\" +fileName.GetBuffer+".jpg";
double scale;
int img_height = img.rows;
scale = 400.0/ img_height;
resize(img, dst, Size(0, 0), scale, scale);
imwrite(savePath,dst);
}
void getFile(CString pathStr){
CString myDataPath, fdPath;
myDataPath =pathStr+"\*.*";
CFileFind finder;
boolean buffer = finder.FindFile(myDataPath);
string abSavePath = "C:\Profram Files\feiq\Recv Files\ACSImage\cache\v3.2\代表图小图";
while (buffer)
{
buffer = finder.FindNextFileW();
if (!finder.IsDots){
/*fdPath是当前的路径,
判断:
如果当前这个路径下是文件夹 递归(fdPath)
如果当前这个路径下是文件 则调changeSize()
多个文件的可以吗??
保存文件的路径怎么办??
逻辑上还是有问题
*/
fdPath = finder.GetFilePath;
if (finder.IsDirectory)
{
getFile(fdPath);
}

else
{
changeSize(fdPath, abSavePath, finder.GetFileName());
}
}

}
finder.Close();
}

代码如上 win32AP 我想不用MFC然后调用MFC里的一些类, 出现题目所示问题.
1>------ Build started: Project: opencvTestBYljk, Configuration: Debug Win32 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(364,5): warning MSB8004: Output Directory does not end with a trailing slash. This build instance will add the slash as it is required to allow proper evaluation of the Output Directory.
1> opencvTestBYljk.cpp
1>d:\lx\home\proj\cuda\opencvtestbyljk\opencvtestbyljk\opencvtestbyljk.cpp(10): error C3861: 'getFile': identifier not found
1>d:\lx\home\proj\cuda\opencvtestbyljk\opencvtestbyljk\opencvtestbyljk.cpp(13): error C3867: 'ATL::CSimpleStringT::GetBuffer': function call missing argument list; use '&ATL::CSimpleStringT::GetBuffer' to create a pointer to member
1>d:\lx\home\proj\cuda\opencvtestbyljk\opencvtestbyljk\opencvtestbyljk.cpp(15): error C2678: binary '+' : no operator found which takes a left-hand operand of type 'std::basic_string,std::allocator>' (or there is no acceptable conversion)
1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(2001): could be 'cv::MatConstIterator cv::operator +(ptrdiff_t,const cv::MatConstIterator &)'
1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1998): or 'cv::MatConstIterator cv::operator +(const cv::MatConstIterator &,ptrdiff_t)'
1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1268): or 'cv::MatExpr cv::operator +(const cv::MatExpr &,const cv::MatExpr &)'
1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1267): or 'cv::MatExpr cv::operator +(const cv::Scalar &,const cv::MatExpr &)'
1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1266): or 'cv::MatExpr cv::operator +(const cv::MatExpr &,const cv::Scalar &)'
1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1265): or 'cv::MatExpr cv::operator +(const cv::Mat &,const cv::MatExpr &)'
1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1264): or 'cv::MatExpr cv::operator +(const cv::MatExpr &,const cv::Mat &)'
1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1263): or 'cv::MatExpr cv::operator +(const cv::Scalar &,const cv::Mat &)'
1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1262): or 'cv::MatExpr cv::operator +(const cv::Mat &,const cv::Scalar &)'
1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1261): or 'cv::MatExpr cv::operator +(const cv::Mat &,const cv::Mat &)'
1> d:\opencv249\opencv\build\include\opencv2\core\operations.hpp(2248): or 'cv::Range cv::operator +(int,const cv::Range &)'
1> d:\opencv249\opencv\build\include\opencv2\core\operations.hpp(2243): or 'cv::Range cv::operator +(const cv::Range &,int)'
1> while trying to match the argument list '(std::basic_string,std::allocator>, overloaded-function)'
1>d:\lx\home\proj\cuda\opencvtestbyljk\opencvtestbyljk\opencvtestbyljk.cpp(31): error C2276: '!' : illegal operation on bound member function expression
1>d:\lx\home\proj\cuda\opencvtestbyljk\opencvtestbyljk\opencvtestbyljk.cpp(40): error C3867: 'CFileFind::GetFilePath': function call missing argument list; use '&CFileFind::GetFilePath' to create a pointer to member
1>d:\lx\home\proj\cuda\opencvtestbyljk\opencvtestbyljk\opencvtestbyljk.cpp(40): error C2679: binary '=' : no operator found which takes a right-hand operand of type 'overloaded-function' (or there is no acceptable conversion)
1> d:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\cstringt.h(1322): could be 'ATL::CStringT>> &ATL::CStringT>>::operator =(const VARIANT &)'
1> d:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\cstringt.h(1314): or 'ATL::CStringT>> &ATL::CStringT>>::operator =(char)'
1> d:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\cstringt.h(1305): or 'ATL::CStringT>> &ATL::CStringT>>::operator =(wchar_t)'
1> d:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\cstringt.h(1299): or 'ATL::CStringT>> &ATL::CStringT>>::operator =(const unsigned char *)'
1> d:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\cstringt.h(1281): or 'ATL::CStringT>> &ATL::CStringT>>::operator =(const char *)'
1> d:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\cstringt.h(1273): or 'ATL::CStringT>> &ATL::CStringT>>::operator =(const wchar_t *)'
1> d:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\cstringt.h(1258): or 'ATL::CStringT>> &ATL::CStringT>>::operator =(const ATL::CStringT>> &)'
1> while trying to match the argument list '(CString, overloaded-function)'
1>d:\lx\home\proj\cuda\opencvtestbyljk\opencvtestbyljk\opencvtestbyljk.cpp(41): error C3867: 'CFileFind::IsDirectory': function call missing argument list; use '&CFileFind::IsDirectory' to create a pointer to member

3个回答

我经常遇到这样的问题,一直都迷糊$(OutDir)$(TargetName)$(TargetExt)、$(SolutionDir)$(Configuration)。闹不明白。
很多时候,我们会将一些低版本IDE编译过的项目,搬迁到VS2010 ,那么会存在很多编译,调试问题。
【1】 编译成功了。可是无法调试 。
.     &nb......
答案就在这里:vs2010 无法启动程序 系统找不到指定的文件
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

检查下文件路径,以及你的权限。
fileName.GetBuffer
看上去是 fileName.GetBuffer()

CString是MFC中的类,要加相应的头文件

malxer
刘泥玛 我再网上查CString的头文件是#include<afx.h> 加了之后还是不可以
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
VS2019无法启动程序 系统找不到指定的文件???
VS2019编译的时候一直无法启动程序 系统找不到指定的文件(多文件),没有生成exe文件 但是只有一个文件的时候又可以编译运行,生成exe文件 怎么办啊 求大神帮忙
Microsoft Visual Studio 2019无法启动程序,系统找不到指定的文件
按照书上用Microsoft Visual Studio 2019编写了一个C程序。点击调试的时候报错,显示: 无法启动程序“C:【路径】。“系统找不到指定的文件 是我的代码出问题了还是什么原因? ![图片说明](https://img-ask.csdn.net/upload/202003/23/1584945741_196360.png)
vs community 2015 Vc++ 无法启动程序 系统找不到指定文件
# 本人小白一个 昨天刚刚下了个VS2015 运行的很顺利, 今天按照书上使用了一次scanf 函数 先是报错了 然后发现昨天写的源代码和新建项目都运行不了 显示“无法启动程序,C/***** 系统找不到指定文件” 本人起步阶段 还望有高人指点 邮箱 851546601@qq.com
VS2017无法启动程序.exe,找不到指定文件,怎样解决?
VS2017无法启动程序.exe,找不到指定文件,怎样解决?![图片说明](https://img-ask.csdn.net/upload/201706/04/1496573446_352963.png)
VS2012问题:程序无法启动,找不到指定文件
![CSDN移动问答][1] [1]: http://C:/Users/Administrator/Desktop/%E5%9B%BE%E7%89%87.PNG 我用的是vs2012,可是就是无法运行。重装了3遍,按照百度上各种方法尝试过都不行。大神帮帮忙。
c++无法启动程序,找不到指定文件
![图片说明](https://img-ask.csdn.net/upload/201502/06/1423226201_11752.png) 求解答。。。有很多方法。。。但是都没成功呢?
visual studio2015 直接运行控制台程序打不开cmd.exe
![图片说明](https://img-ask.csdn.net/upload/201802/15/1518686907_142326.png)visual studio2015直接点运行控制台程序,显示打不开cmd.exe。就最简单的win32控制台程序,调试时可以打开,但是点Ctrl+F5会出现无法启动程序 C:\Windows\System32\cmd.exe,系统找不到指定文件。试过修复,而且电脑有cmd,在cmd里面能运行生成的.exe,但是VS显示启动不了cmd.exe。
用C语言在vs2017调用graphics函数
出现问题:无法启动程序”c:\users\czhsy\documentsvisual stdIo 2017\projects\Project5\Debug\Project5.exe”,系统找不到指定文件 我也看了文件夹里面确实没生成~.exe 急,很重要,咋解决啊
打开VS就提示未加载文件或程序集System.Xam
vs2010启动时提示:未能加载文件或程序集“System.Xaml,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"或它的某一个依赖项。系统找不到指定的文件。![图片说明](https://img-ask.csdn.net/upload/201904/03/1554224374_590805.png)
程序安装完毕,开启win7服务,调用.net报错
默认安装.NET Framework 3.5。 默认安装Sybase ODBC驱动程序。 数据交换服务注册:在命令行下,切换到数据交换程序的目录(如:D:\门店接口\hosting),运行install.bat,然后提示————————无法启动服务。System.Configuration.ConfigurationErrorsException: Error creating context 'spring.root': 未能加载文件或程序集“Quartz, Version=2.1.2.400, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。 ---> Spring.Objects.Factory.ObjectCreationException: Error creating object with name 'SchedulerFactory' defined in 'assembly [XR.PMS.Job, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null], resource [XR.PMS.Job.Config.spring.xml] line 13' : Initialization of object failed : Cannot instantiate Type [Spring.Scheduling.Quartz.SchedulerFactoryObject] using ctor [Void .ctor()] : '未能加载文件或程序集“Quartz, Version=2.1.2.400, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。' ---> Spring.Util.FatalReflectionException: Cannot instantiate Type [Spring.Scheduling.Quartz.SchedulerFactoryObject] using ctor [Void .ctor()] : '未能加载文件或程序集“Quartz, Version=2.1.2.400, Culture=neutral, PublicKeyToken=null”或它的某一 个依赖项。系统找不到指定的文件。' ---> System.IO.FileNotFoundException: 未能加载文件或程序集“Quartz, Version=2.1.2.400, Culture=neutral, PublicKeyToken=nul...
log4j的日志文件如何在程序启动时自动生成
我再程序里面指定了日志的生成路径,比如: log4j.appender.D.File = D:/log/log.log 但是我本地电脑没有这个路径,我想在程序启动的时候自动生成这个路径。 我在web.xml里面的配置是 <servlet> <servlet-name>Log4JInitServlet</servlet-name> <servlet-class>com.sunyard.insurance.Servlet.Log4JInitServlet</servlet-class> <init-param> <param-name>log4j-properties-location</param-name> <param-value>WEB-INF/classes/conf/log4j.properties</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> 现在程序启动的时候报错找不到路径D:/log/log.log,这个该怎么解决
脚本启动后不能进入指定目录
写了一个脚本程序"start_script",放到了linux的“/”目录下,然后修改/etc/目录下的profile文件,在末尾添加./start_script,表示开机自动执行根目录下的"start_script"脚本,但是执行脚本时,它会新开一个shell去执行,执行完后它就退出了,返回到父shell,父shell目录默认是根目录或home,而我的脚本程序中是想开机进入指定目录,不要退出子shell,请问怎么解决呢?
[求助]编译后无法运行
[求助]我刚下载安装了Visual Studio 2012,编译运行时遇到问题,显示“无法启动程序‘XXX.exe’。系统找不到指定的文件。”,我电脑装的是win7 64位版,是兼容性问题还是杀毒软件影响,还是软件本身设置的问题? 新手刚上路,跪求各位大侠解决!!!
小白在cocos2dx-3.x+win8环境配置中出现问题
因为是windows平台下开发,所以并没有配置ADT,NDK等,仅仅设置了python环境变量。 在运行Testcpp时,成功运行。 可是在运行Hellocpp时,出现错误。 错误提示:无法启动程序 D:\cocosHelloWrold\hellococos\proj.win32\Debug.win32\HelloCpp.exe 系统找不到指定的文件 求帮助呀。
visual studio2012 直接运行控制台程序打不开cmd.exe
就最简单的win32控制台程序,调试时可以打开,但是会报这些: “ConsoleApplication1.exe”(Win32): 已加载“E:\VSProjects\ConsoleApplication1\Debug\ConsoleApplication1.exe”。已加载符号。 “ConsoleApplication1.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。 “ConsoleApplication1.exe”(Win32): 已加载“C:\Windows\SysWOW64\kernel32.dll”。无法查找或打开 PDB 文件。 “ConsoleApplication1.exe”(Win32): 已加载“C:\Windows\SysWOW64\KernelBase.dll”。无法查找或打开 PDB 文件。 “ConsoleApplication1.exe”(Win32): 已加载“C:\Windows\SysWOW64\msvcr110d.dll”。已加载符号。 线程 0x2064 已退出,返回值为 -1073741510 (0xc000013a)。 程序“[4924] ConsoleApplication1.exe”已退出,返回值为 -1073741510 (0xc000013a)。 如果直接运行就弹出对话框:无法启动程序"C:\Windows\system32\cmd.exe".系统找不到指定的文件。
用VS2010建立一个控制台项目,可以单步调试但是不能直接执行
如果直接执行,就会提示错误,如下 =============================================== 无法启动程序“C:\Windows\system32\cmd.exe” 系统找不到指定的文件。 =============================================== 但是我是可以找到cmd.exe并运行的,也可以通过双击生成的exe文件来启动项目。
求模拟三辆火车调度系统得程序
一、参数配置 1、火车数量:最小为3 2、火车类型:快车、慢车 3、火车运行方向:顺时针、逆时针 4、火车启动运行位置:有默认值,系统运行时可修改初始配置 5、火车启动时间:0表示即可启动,其它整数值表示系统运行整数秒后启动 6、火车运行速度:每秒移动的距离 7、火车占用公共轨道停靠时间:0表示不占用,单位为秒,值不0为要占用时,要求在公共轨道中间停靠。 二、火车基本要求 1、至少有三辆小火车 (如图1所示)。 2、小火车各自分别沿参数指定方向行驶在自己的闭合轨道上。当运行到公共轨道时 需监测是否会有冲突发生,如当火车A在公共轨道上运行的时候,另一辆火车B如果也想进入公共轨道,则必须等待,直到列车A离开了公共轨道,让出该段轨道。为了防止两辆火车在公共轨道上相撞,必须要有一个中央控制系统来调度火车的运行。 3、为了能及时识别火车想进入公共轨道或者已经离开公共轨道,在公共轨道等待进入和驶出轨道双方向上,分别安装两个探测点,当探测点发现火车经过此点时,将会发送信号给中央控制系统,中央控制系统根据发送信号的是哪个探测点,识别出是哪辆火车想进入或者驶出公共轨道。 ![图片说明](https://img-ask.csdn.net/upload/201605/07/1462620769_652219.png) 三.火车的运行控制 1.火车从启动位置开始运行,除非因为等待公共轨道的释放而暂停,或者被人为停止,否则会一直运行。 2.必须要保证所有火车有序运行,交替使用公共轨道。 3.火车的运行速度等参数可以在配置文件中设置,也可在系统刚开始运行时提示是否修改默认配置,如果是则可以修改默认参数。 4.在火车运行期间,火车除了因为等待公共轨道的释放而暂停,也可能由于某些特殊原因被人为停止,用户可以通过输入命令信号来控制火车的暂停和继续运行。 5. 如果火车在公共轨道停靠时间不为0时,要求在轨道中间位置停靠,并以秒为单位显示停靠倒计时的时间。 四.火车运行的控制策略 如果出现2个监测点同时向中央控制中心发信号,提示火车要进入公共运行轨道,这时需要根据以下三种策略来决定哪辆火车被允许进入。 交替策略:快、慢车交替使用公共轨道。第一次出现同时申请进入的情况时,让A车先行,第二次时让B车先行,第三次还是让A车先行,第四次B车先行。 快车优先策略:根据火车的运行速度,选择快车优先通过,慢车等待快车通过后再进入公共轨道,同级别情况下采用交替策略。 人工控制策略:当同时有多辆车请求进入公共轨道时,可以人工控制指定某辆车进入,其它车等待。 五.输入输出 要求开发两个版本:命令行版本和动画版本。具体说明如下: 命令行版本,要求实现键盘输入、命令行输出,并将输出结果记录到文件。 动画版本,要求实现图形界面输入、动画输出,并将输出结果记录到文件。 (一)输入 一系列的火车控制信息和调度命令。输入数据包括以下两种: 1)初始化信息,包括:各辆火车的车速、启动时间(相对于程序开始运行时间,以秒为单位)、启动位置以及探测点位置等,参见内容一说明。轨道宽度、高度、位置坐标可为常量。 2)暂停或者继续某辆火车运行的控制信号。 输入方式可以采用两种方法: a.从键盘输入。例如:可以在程序刚开始运行时,先提示用户从键盘输入初始化信息;运行中从键盘接受小火车的控制信号。以A车示例,可以设定初始化信息的输入顺序如下: [A Speed] //A运行速度 [A StartTime] //启动时间,0表示即刻启动 [A StartPoint] //A启动位置(例如将A轨道分为0-12点刻度,启动位置在0点) [A InPoint] //A进入公共轨道探测点的位置,可以是绝对坐标,也可以是相对公共轨道的距离 [A OutPoint] //A驶出公共轨道探测点位置,可以是绝对坐标,也可以是相对公共轨道的距离 [A Type] //火车类型,1快车,2慢车;也可根据火车速度规定快慢判别区间 开始运行后,以A车示例,可以设定控制信号的按键如下: A车暂停:‘PA’ A车继续:‘CA’ b.图形界面输入。程序运行时,先提示是否修改默认配置,若修改则首先出现初始化信息录入界面,在文本框中输入全部的初始化信息。然后程序根据这些参数绘制主画面。在主画面中,鼠标第一次点击小火车时,小火车启动运行,再次点击小火车时,火车暂停。火车申请进入公共轨道时,探测点点亮。 (二)输出: a.命令行输出: 两种方案:(1)周期性在命令行窗口打印出各辆火车的状态信息,包括:运行到轨道的哪个位置、状态(运行-非公共轨道,运行-公共轨道、暂停-等待公共轨道、停靠-占用公共轨道)。(2)当小火车状态发生变化时,如刚启动时,或从暂停变为运行,或申请进入公共轨道,获准进入时,在命令行窗口打印出小火车当前新的位置、暂停还是运行、是否等候进入、进入/驶出等。 b.动画显示:在窗口中显示小火车在绘制的轨道中匀速运行的动画,显示每段公共轨道的四个探测点,显示调度控制面板。为了直观显示调度的结果,当火车被允许进入公共轨道时,有绿色信号灯点亮;若调度错误,导致两车在轨道上相撞,要模拟撞车效果。 c.火车运行情况的记录(结果)文件。 记录文件也是文本文件,每一行表示一个时刻的火车运行状态,包括以下内容: 当前时间:程序开始运行的系统时钟时间,单位秒。 火车运行方向:顺时针、逆时针。 火车当前位置:0.0-12.0。假如将A轨道分为0-12点刻度,当前位置在几点。因有多条轨道,还需有字符表示某辆火车当前处于那个轨道。 火车当前状态:运行-非公共轨道,运行-公共轨道、暂停-等待公共轨道、停靠-占用公共轨道。 每个数据项之间用一个空格隔开。
tkinter界面最小化到托盘如何保持按钮启动的程序后台一直运行。
我使用网上的代码,把用户界面最小化后按钮启动的程序停止运行了,请问有大神指点一下吗? ``` import win32api import win32con import win32gui_struct import win32gui from multiprocessing import Process import GetData import SaveAwx from Parameter import * import numpy as np from tkinter import * import threading Main = None class SysTrayIcon(object): QUIT = 'QUIT' SPECIAL_ACTIONS = [QUIT] FIRST_ID = 1314 def __init__(s, icon, hover_text, on_quit=None, default_menu_index=None, window_class_name=None, ): s.icon = icon s.hover_text = hover_text s.on_quit = on_quit menu_options = (('退出', None, s.QUIT),) s._next_action_id = s.FIRST_ID s.menu_actions_by_id = set() s.menu_options = s._add_ids_to_menu_options(list(menu_options)) s.menu_actions_by_id = dict(s.menu_actions_by_id) del s._next_action_id s.default_menu_index = (default_menu_index or 0) s.window_class_name = window_class_name or "SysTrayIconPy" message_map = {win32gui.RegisterWindowMessage("TaskbarCreated"): s.refresh_icon, win32con.WM_DESTROY: s.destroy, win32con.WM_COMMAND: s.command, win32con.WM_USER + 20: s.notify, } # 注册窗口类。 window_class = win32gui.WNDCLASS() window_class.hInstance = win32gui.GetModuleHandle(None) window_class.lpszClassName = s.window_class_name window_class.style = win32con.CS_VREDRAW | win32con.CS_HREDRAW; window_class.hCursor = win32gui.LoadCursor(0, win32con.IDC_ARROW) window_class.hbrBackground = win32con.COLOR_WINDOW window_class.lpfnWndProc = message_map # 也可以指定wndproc. s.classAtom = win32gui.RegisterClass(window_class) def show_icon(s): # 创建窗口。 hinst = win32gui.GetModuleHandle(None) style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU s.hwnd = win32gui.CreateWindow(s.classAtom, s.window_class_name, style, 0, 0, win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT, 0, 0, hinst, None) win32gui.UpdateWindow(s.hwnd) s.notify_id = None s.refresh_icon() win32gui.PumpMessages() def show_menu(s): menu = win32gui.CreatePopupMenu() s.create_menu(menu, s.menu_options) # win32gui.SetMenuDefaultItem(menu, 1000, 0) pos = win32gui.GetCursorPos() # See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/menus_0hdi.asp win32gui.SetForegroundWindow(s.hwnd) win32gui.TrackPopupMenu(menu, win32con.TPM_LEFTALIGN, pos[0], pos[1], 0, s.hwnd, None) win32gui.PostMessage(s.hwnd, win32con.WM_NULL, 0, 0) def destroy(s, hwnd, msg, wparam, lparam): if s.on_quit: s.on_quit(s) # 运行传递的on_quit nid = (s.hwnd, 0) win32gui.Shell_NotifyIcon(win32gui.NIM_DELETE, nid) win32gui.PostQuitMessage(0) # 退出托盘图标 def notify(s, hwnd, msg, wparam, lparam): if lparam == win32con.WM_LBUTTONDBLCLK: # 双击左键 pass # s.execute_menu_option(s.default_menu_index + s.FIRST_ID) elif lparam == win32con.WM_RBUTTONUP: # 单击右键 s.show_menu() elif lparam == win32con.WM_LBUTTONUP: # 单击左键 nid = (s.hwnd, 0) win32gui.Shell_NotifyIcon(win32gui.NIM_DELETE, nid) win32gui.PostQuitMessage(0) # 退出托盘图标 if Main: Main.root.deiconify() return True """ 可能的鼠标事件: WM_MOUSEMOVE WM_LBUTTONDOWN WM_LBUTTONUP WM_LBUTTONDBLCLK WM_RBUTTONDOWN WM_RBUTTONUP WM_RBUTTONDBLCLK WM_MBUTTONDOWN WM_MBUTTONUP WM_MBUTTONDBLCLK""" def _add_ids_to_menu_options(s, menu_options): result = [] for menu_option in menu_options: option_text, option_icon, option_action = menu_option if callable(option_action) or option_action in s.SPECIAL_ACTIONS: s.menu_actions_by_id.add((s._next_action_id, option_action)) result.append(menu_option + (s._next_action_id,)) else: result.append((option_text, option_icon, s._add_ids_to_menu_options(option_action), s._next_action_id)) s._next_action_id += 1 return result def refresh_icon(s, **data): hinst = win32gui.GetModuleHandle(None) if os.path.isfile(s.icon): # 尝试找到自定义图标 icon_flags = win32con.LR_LOADFROMFILE | win32con.LR_DEFAULTSIZE hicon = win32gui.LoadImage(hinst, s.icon, win32con.IMAGE_ICON, 0, 0, icon_flags) else: # 找不到图标文件 - 使用默认值 hicon = win32gui.LoadIcon(0, win32con.IDI_APPLICATION) if s.notify_id: message = win32gui.NIM_MODIFY else: message = win32gui.NIM_ADD s.notify_id = (s.hwnd, 0, win32gui.NIF_ICON | win32gui.NIF_MESSAGE | win32gui.NIF_TIP, win32con.WM_USER + 20, hicon, s.hover_text) win32gui.Shell_NotifyIcon(message, s.notify_id) def create_menu(s, menu, menu_options): for option_text, option_icon, option_action, option_id in menu_options[::-1]: if option_icon: option_icon = s.prep_menu_icon(option_icon) if option_id in s.menu_actions_by_id: item, extras = win32gui_struct.PackMENUITEMINFO(text=option_text, hbmpItem=option_icon, wID=option_id) win32gui.InsertMenuItem(menu, 0, 1, item) else: submenu = win32gui.CreatePopupMenu() s.create_menu(submenu, option_action) item, extras = win32gui_struct.PackMENUITEMINFO(text=option_text, hbmpItem=option_icon, hSubMenu=submenu) win32gui.InsertMenuItem(menu, 0, 1, item) def prep_menu_icon(s, icon): # 首先加载图标。 ico_x = win32api.GetSystemMetrics(win32con.SM_CXSMICON) ico_y = win32api.GetSystemMetrics(win32con.SM_CYSMICON) hicon = win32gui.LoadImage(0, icon, win32con.IMAGE_ICON, ico_x, ico_y, win32con.LR_LOADFROMFILE) hdcBitmap = win32gui.CreateCompatibleDC(0) hdcScreen = win32gui.GetDC(0) hbm = win32gui.CreateCompatibleBitmap(hdcScreen, ico_x, ico_y) hbmOld = win32gui.SelectObject(hdcBitmap, hbm) # 填满背景。 brush = win32gui.GetSysColorBrush(win32con.COLOR_MENU) win32gui.FillRect(hdcBitmap, (0, 0, 16, 16), brush) # "GetSysColorBrush返回缓存的画笔而不是分配新的画笔。" # - 暗示没有DeleteObject # 画出图标 win32gui.DrawIconEx(hdcBitmap, 0, 0, hicon, ico_x, ico_y, 0, 0, win32con.DI_NORMAL) win32gui.SelectObject(hdcBitmap, hbmOld) win32gui.DeleteDC(hdcBitmap) return hbm def command(s, hwnd, msg, wparam, lparam): id = win32gui.LOWORD(wparam) s.execute_menu_option(id) def execute_menu_option(s, id): menu_action = s.menu_actions_by_id[id] if menu_action == s.QUIT: win32gui.DestroyWindow(s.hwnd) else: menu_action(s) class _Main: def main(s): import tkinter as tk s.root = tk.Tk() s.S = Scrollbar(s.root) s.T = Text(s.root, height=4, width=50) s.S.pack(side=RIGHT, fill=Y) s.T.pack(side=LEFT, fill=Y) s.S.config(command=s.T.yview) s.T.config(yscrollcommand=s.S.set) quote = "Start reading files\n" s.T.insert(END, quote) s.T.update() s.goBtn = Button(text="Go!", command=s.tt) s.goBtn.pack() icons = 'D:\\1.ico' hover_text = "SysTrayIcon.py Demo" # 悬浮于图标上方时的提示 s.sysTrayIcon = SysTrayIcon(icons, hover_text, on_quit=s.exit, default_menu_index=1) s.root.bind("<Unmap>", lambda event: s.Unmap() if s.root.state() == 'iconic' else False) s.root.protocol('WM_DELETE_WINDOW', s.exit) s.root.resizable(0, 0) s.root.mainloop() def switch_icon(s, _sysTrayIcon, icons='D:\\2.ico'): _sysTrayIcon.icon = icons _sysTrayIcon.refresh_icon() # 点击右键菜单项目会传递SysTrayIcon自身给引用的函数,所以这里的_sysTrayIcon = s.sysTrayIcon def Unmap(s): s.root.withdraw() s.sysTrayIcon.show_icon() def exit(s, _sysTrayIcon=None): s.root.destroy() print('exit...') def tt(s): while True: print("**********************") quote = "Start reading files\n" s.T.insert(END, quote) s.T.update() ``` ``` ``` ``` ```
windows环境下启动Tomcat,日志只在文件中有,控制台不显示
> windows环境下启动Tomcat,日志只在文件中有,控制台中什么都不显示,我使用的是原生的tomcat 7.0.59,tomcat中没用log4j,但项目中用了log4j2 另外问一下start.bat最后一行`call "%EXECUTABLE%" start %CMD_LINE_ARGS%`改成`call "%EXECUTABLE%" run %CMD_LINE_ARGS%`是什么意思,麻烦详细说说,谢谢 下面是tomcat中`logging.properties`配置(没改过) ``` # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler .handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler ############################################################ # Handler specific properties. # Describes specific configuration info for Handlers. ############################################################ 1catalina.org.apache.juli.FileHandler.level = FINE 1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 1catalina.org.apache.juli.FileHandler.prefix = catalina. 2localhost.org.apache.juli.FileHandler.level = FINE 2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 2localhost.org.apache.juli.FileHandler.prefix = localhost. 3manager.org.apache.juli.FileHandler.level = FINE 3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 3manager.org.apache.juli.FileHandler.prefix = manager. 4host-manager.org.apache.juli.FileHandler.level = FINE 4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 4host-manager.org.apache.juli.FileHandler.prefix = host-manager. java.util.logging.ConsoleHandler.level = FINE java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter ############################################################ # Facility specific properties. # Provides extra control for each logger. ############################################################ org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler # For example, set the org.apache.catalina.util.LifecycleBase logger to log # each component that extends LifecycleBase changing state: #org.apache.catalina.util.LifecycleBase.level = FINE # To see debug messages in TldLocationsCache, uncomment the following line: #org.apache.jasper.compiler.TldLocationsCache.level = FINE ``` log4j2的配置 ```xml <?xml version="1.0" encoding="UTF-8"?> <configuration status="error"> <!-- 先定义所有的appender --> <appenders> <!-- 这个输出控制台的配置 --> <Console name="Console" target="SYSTEM_OUT"> <!-- 控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) --> <ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY" /> <!-- 这个都知道是输出日志的格式 --> <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" /> </Console> <!-- 文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,这个也挺有用的,适合临时测试用 --> <!-- append为TRUE表示消息增加到指定文件中,false表示消息覆盖指定的文件内容,默认值是true --> <File name="log" fileName="logs/test.log" append="false"> <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" /> </File> <!-- 添加过滤器ThresholdFilter,可以有选择的输出某个级别以上的类别 onMatch="ACCEPT" onMismatch="DENY"意思是匹配就接受,否则直接拒绝 --> <File name="ERROR" fileName="logs/error.log"> <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY" /> <PatternLayout pattern="%d{yyyy.MM.dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n" /> </File> <!-- 这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档 --> <RollingFile name="RollingFile" fileName="logs/web.log" filePattern="logs/$${date:yyyy-MM}/web-%d{MM-dd-yyyy}-%i.log.gz"> <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n" /> <SizeBasedTriggeringPolicy size="2MB" /> </RollingFile> </appenders> <!-- 然后定义logger,只有定义了logger并引入的appender,appender才会生效 --> <loggers> <!-- 建立一个默认的root的logger --> <root level="trace"> <appender-ref ref="RollingFile" /> <appender-ref ref="Console" /> <appender-ref ref="ERROR" /> <appender-ref ref="log" /> </root> </loggers> </configuration> ``` ![error](https://img-ask.csdn.net/upload/201704/12/1491960515_231666.png)
在中国程序员是青春饭吗?
今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
我在支付宝花了1分钟,查到了女朋友的开房记录!
在大数据时代下,不管你做什么都会留下蛛丝马迹,只要学会把各种软件运用到极致,捉奸简直轻而易举。今天就来给大家分享一下,什么叫大数据抓出轨。据史料证明,马爸爸年轻时曾被...
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
20道你必须要背会的微服务面试题,面试一定会被问到
写在前面: 在学习springcloud之前大家一定要先了解下,常见的面试题有那块,然后我们带着问题去学习这个微服务技术,那么就会更加理解springcloud技术。如果你已经学了springcloud,那么在准备面试的时候,一定要看看看这些面试题。 文章目录1、什么是微服务?2、微服务之间是如何通讯的?3、springcloud 与dubbo有哪些区别?4、请谈谈对SpringBoot 和S...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
2020 年,大火的 Python 和 JavaScript 是否会被取而代之?
Python 和 JavaScript 是目前最火的两大编程语言,但是2020 年,什么编程语言将会取而代之呢? 作者 |Richard Kenneth Eng 译者 |明明如月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: Python 和 JavaScript 是目前最火的两大编程语言。然而,他们不可能永远屹立不倒。最终,必将像其他编程语言一...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
最全最强!世界大学计算机专业排名总结!
我正在参与CSDN200进20,希望得到您的支持,扫码续投票5次。感谢您! (为表示感谢,您投票后私信我,我把我总结的人工智能手推笔记和思维导图发送给您,感谢!) 目录 泰晤士高等教育世界大学排名 QS 世界大学排名 US News 世界大学排名 世界大学学术排名(Academic Ranking of World Universities) 泰晤士高等教育世界大学排名 中国共...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
使用 Python 和百度语音识别生成视频字幕
文章目录从视频中提取音频根据静音对音频分段使用百度语音识别获取 Access Token使用 Raw 数据进行合成生成字幕总结 从视频中提取音频 安装 moviepy pip install moviepy 相关代码: audio_file = work_path + '\\out.wav' video = VideoFileClip(video_file) video.audio.write_...
一个程序在计算机中是如何运行的?超级干货!!!
强烈声明:本文很干,请自备茶水!???? 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } ...
【蘑菇街技术部年会】程序员与女神共舞,鼻血再次没止住。(文末内推)
蘑菇街技术部的年会,别开生面,一样全是美女。
那个在阿里养猪的工程师,5年了……
简介: 在阿里,走过1825天,没有趴下,依旧斗志满满,被称为“五年陈”。他们会被授予一枚戒指,过程就叫做“授戒仪式”。今天,咱们听听阿里的那些“五年陈”们的故事。 下一个五年,猪圈见! 我就是那个在养猪场里敲代码的工程师,一年多前我和20位工程师去了四川的猪场,出发前总架构师慷慨激昂的说:同学们,中国的养猪产业将因为我们而改变。但到了猪场,发现根本不是那么回事:要个WIFI,没有;...
为什么程序猿都不愿意去外包?
分享外包的组织架构,盈利模式,亲身经历,以及根据一些外包朋友的反馈,写了这篇文章 ,希望对正在找工作的老铁有所帮助
Java校招入职华为,半年后我跑路了
何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...
世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?
点击上方蓝字设为星标下面开始今天的学习~今天分享四个代码量很少,但很牛逼很经典的算法或项目案例。1、no code 项目地址:https://github.com/kelseyhight...
立即提问