永发信息网

shell和C\C++ 执行速度

答案:2  悬赏:0  手机版
解决时间 2021-03-18 06:00
  • 提问者网友:浩歌待明月
  • 2021-03-17 19:53
shell和C\C++两种程序在完成相同任务的情况下,比如读入两个指定目录下的所有文件名,将文件名相同的文件全路径写入一个dir.txt文件中,执行速度哪个更快?
最佳答案
  • 五星知识达人网友:像个废品
  • 2021-03-17 20:17
主要是看瓶颈,如果是读写文件为主的话,效率差不多。除此之外,c c++肯定要快,并且快很多
全部回答
  • 1楼网友:行雁书
  • 2021-03-17 21:18
在c/c++源码中执行shell命令,最基本的就是 system() c库函数,其次可以使用系统提供的api函数,比如windows上的createprocess shellexecuteex等函数,在linux上可以使用exec()等等. 下面是我在windows上的弄的一个测试版本,使用了线程,我感觉用nc来测试,不如直接 netstat -an | findstr /i "udp" | findstr "22" ,因为22端口太其特了,很容易抓出来. 另外nc判断端口常规的作法就是 nc -vv ip port 看提示信息就好了. #include <stdio.h> #include <stdlib.h> #include <tchar.h> #include <windows.h> #include <process.h> uint __stdcall threadfunc(lpvoid lpparam) { //将hacker字符串做为nc提交的数据 int ret = system("echo hacker | nc.exe -u 127.1 22"); //ret==0说明没有开启22端口 if (ret == 0 ) printf("nc: write error: connection refused.\n"); return 0; } int main() { handle hthread = (handle)_beginthreadex(0, 0, threadfunc, 0, 0, 0); //等待3秒钟,说明22端口可用 waitforsingleobject(hthread, 3000); //结束测试线程 terminatethread(hthread, 0); //重新开启nc连接22端口 system("nc.exe -vv -u 127.1 22"); return 0; } 欢迎光临0x30贴吧,一个高质量的计算机技术交流平台.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯