目前我这样做是为了查看一个掩盖的USB设备列表(专门为我正在使用的设备屏蔽),如果它在那里,我继续,如果没有,那么我通知用户设备没有连接.通过USB外围控制器芯片制造商的.NET库为我提供了获取USB设备列表的方法.
是否存在USB设备断开连接的事件?
这里有一些代码,在做了一些测量之后是一个相当大的瓶颈:
//-----------------------------------------------------------------------------
// Construct dictionary hash set from dictionary file
//-----------------------------------------------------------------------------
void constructDictionary(unordered_set<string> &dict)
{
ifstream wordListFile;
wordListFile.open("dictionary.txt");
std::string word;
while( wordListFile >> word )
{
if( !word.empty() )
{
dict.insert(word);
}
}
wordListFile.close();
}
Run Code Online (Sandbox Code Playgroud)
我正在读大约200,000字,这在我的机器上大约需要240毫秒.ifstream这里使用效率高吗?我可以做得更好吗?我正在阅读有关mmap()实现的内容,但我并不是100%理解它们.输入文件只是带有*nix行终止的文本字符串.
编辑:建议替代方案的后续问题:任何替代方案(减去增加流缓冲区大小)是否意味着我编写了一个解析每个字符的解析器?我有点像流的简单语法,但如果我需要速度,我可以重新写一些更细节的东西.将整个文件读入内存是一个可行的选择,它只有2mb左右.
编辑#2: 我发现对我的减速是由于设置插入,但对于那些仍然有兴趣加快逐行文件IO的人,请在这里阅读答案并查看Matthieu M.的关于这个主题的继续.
我正在尝试为足球比赛提供解析器.我非常宽松地使用"自然语言"一词,所以请耐心等待,因为我对这个领域几乎一无所知.
以下是我正在使用的一些示例(格式:TIME | DOWN&DIST | OFF_TEAM | DESCRIPTION):
04:39|4th and 20@NYJ46|Dal|Mat McBriar punts for 32 yards to NYJ14. Jeremy Kerley - no return. FUMBLE, recovered by NYJ.|
04:31|1st and 10@NYJ16|NYJ|Shonn Greene rush up the middle for 5 yards to the NYJ21. Tackled by Keith Brooking.|
03:53|2nd and 5@NYJ21|NYJ|Mark Sanchez rush to the right for 3 yards to the NYJ24. Tackled by Anthony Spencer. FUMBLE, recovered by NYJ (Matthew Mulligan).|
03:20|1st and 10@NYJ33|NYJ|Shonn Greene rush to the left for 4 yards …Run Code Online (Sandbox Code Playgroud) 如何从Visual Studio代码运行Windows Bash作为运行任务?
以下是我尝试tasks.json这样做的一些尝试.
{
"version": "0.1.0",
"command": "cmd",
"isShellCommand": true,
"args": [ "RunShellScript.bat" ],
"showOutput": "always"
}
Run Code Online (Sandbox Code Playgroud)
RunShellScript.bat只有这一行:bash myShellScript.sh.如果您只是从开始打开cmd,并键入该行,它将执行.如果您只是双击该文件,它也可以完美运行.但是,从VSCode启动时,此输出只会挂起,直到我终止它.
尝试2号:
{
"version": "0.1.0",
"command": "cmd",
"isShellCommand": true,
"args": [ "bash myShellScript.sh" ],
"showOutput": "always"
}
Run Code Online (Sandbox Code Playgroud)
这也像上面一样挂起.
尝试3号:
{
"version": "0.1.0",
"command": "C:/Windows/System32/bash",
"isShellCommand": false,
"args": [ "myShellScript.sh" ],
"showOutput": "always"
}
Run Code Online (Sandbox Code Playgroud)
这给了我:
Failed to launch external program C:/Windows/System32/bash myShellScript.sh
spawn C:/Windows/System32/bash ENOENT
Run Code Online (Sandbox Code Playgroud)
我也尝试过"isShellCommand"在某些情况下将变量设置为true和false,但无济于事.
有谁知道如何做到这一点?
使用DISKPART命令行实用程序,我可以得到一个称为"位置路径"的东西,它似乎能够提供我需要的东西,您可以detail disk在选择其中一个磁盘后使用该命令查看diskpart.
看来我可以通过这个类以编程方式获取此信息:MSFT_Disk
我不确定如何获得这个类的实例.我有几个使用ManagementObjectSearcherfor WMI类的例子但是这个方法对我不起作用,我也不确定MSFT_DiskWindows 7中的可用性,因为该页面提到这是针对Windows 8的.
有谁知道获得SATA通道信息或磁盘"位置路径"的好方法?
为英特尔IPT硬件编写某种抽象层涉及什么?
对于那些不熟悉英特尔IPT的人来说,它是一个嵌入式协处理器,用于从秘密种子开始,每隔30秒生成一个唯一的6个字符的一次性密码.
有关实际使用的示例,请查看Valve的SteamGuard,它允许用户使用他们的Steam帐户注册PC,这样他们的PC现在可以作为第二个身份验证因素,就像RSA安全令牌一样,但内置在您的计算机中.另一个客户端是赛门铁克的VIP,就我所知,它是你的IPT硬件和寻求额外身份验证的网站之间的中间人(你现在可以在ebay上使用它 - 可能还有其他例子) .
到目前为止,我对技术文档的搜索没有任何用处,我发现更多的是营销导向,对实现者没有用.您是否必须成为英特尔的"值得信赖的合作伙伴"(赛门铁克被列为一个)才能获得必要的资源?是否涉及审计程序?
hardware security cryptography intel two-factor-authentication
在裸机系统(嵌入式微控制器,没有MMU,没有寻呼)什么更昂贵?完整的上下文切换(寄存器保存和恢复)或函数调用(激活记录分配)?
我知道这很大程度上取决于调用约定和硬件功能,但我将如何评估它呢?
编辑:
为了提供更多的上下文,我试图模拟两个调度方案.第一个是先发制人的调度程序,在任务之间切换上下文.第二个是函数指针运行队列,其中任务是状态机,分为几个可以进行的函数调用(其中,在IO事件驱动的基础上进行排队).
在大多数情况下,我可以收集关于我的任务需要多长时间(IO和CPU时间)的良好数据,但我需要一些帮助来计算在我的模型中添加常量的额外开销成本.
architecture operating-system function overhead context-switch
我似乎无法导入位于"lib-dynload"目录中的任何基本模块.他们都在那里,但我得到错误:"ImportError: No module named X"尝试导入它们时.
我检查了我的sys.path,它包含所有这些模块所在的目录,并且我的PYTHONHOME环境变量设置正确.关于问题可能是什么,我有点不知所措.一些背景信息:这是从Python 2.6.6源代码交叉编译并安装到带有Angstrom的ARM嵌入式Linux板上.
它之前确实有python,我曾试图将它咬成图像,但它缺少很多东西.在加载到我的交叉编译版本之前,我最终尽力清理与之前的python有关的任何目录树.
一个简单的脚本,只是试图导入math:http: //pastebin.com/3XgJ3nPR
此命令:dsconfigad -show执行我需要的操作,但我需要管理员权限才能运行它。
上面的命令输出了一些我感兴趣的信息:
You are bound to Active Directory:
Active Directory Forest = xx.xxxxxx.local
Active Directory Domain = xx.xxxxxx.local
Computer Account = (computer name)
Run Code Online (Sandbox Code Playgroud)
我希望能够以Active Directory Domain编程方式看到上面的内容,并且最好不需要具有 sudo 权限。
有什么建议?我已经浏览了 Open Directory 文档,但对我来说如何做到这一点并不完全显而易见。我还尝试了一些代码示例,只是为了查询 AD 中的某些内容而没有成功……我将继续努力,但我希望这里有人有一些知识可以分享。
我最近开始使用Windows子系统Linux(WSL)来查看我的Linux Makefile和基于arm-none-eabi-gcc的微控制器项目是否会在Windows中"本地"构建.令我惊讶的是,工具链和基于Linux的开发工具首先安装并完美运行,无需对Makefile进行任何修改.
这让我想到尝试使用IDE功能在Visual Studio中进行所有代码编辑,同时在WSL中提供的Linux和bash环境中进行实际构建.
不幸的是,在我的Visual Studio项目的NMake选项中指定"构建命令行"时,放入"C:\Windows\System32\bash.exe build.sh"不起作用,因为:
'C:\Windows\System32\bash.exe' is not recognized as an internal or external command,
operable program or batch file.
这对我来说很奇怪,因为我指定了完整路径并且找不到WSL bash可执行文件,并且还尝试将其添加为"外部工具"似乎不起作用,因为可执行文件未显示在选择窗口,尽管能够在同一目录中看到其他可执行文件.
一些非主题观点:如果Microsoft可以使Visual Studio和WSL无缝协同工作,那么我可能会从我的Ubuntu虚拟机设置切换到基于WSL的开发环境.
.net ×2
bash ×2
python ×2
windows-subsystem-for-linux ×2
architecture ×1
c# ×1
c++ ×1
cryptography ×1
disconnect ×1
disk ×1
embedded ×1
events ×1
file-io ×1
function ×1
hard-drive ×1
hardware ×1
ifstream ×1
intel ×1
linux ×1
macos ×1
msbuild ×1
nlp ×1
optimization ×1
overhead ×1
parsing ×1
sata ×1
security ×1
usb ×1
windows ×1