应该选择CRT吗?

今天对wcslen 做了下测试 发现vc CRT的wcslen 效率真的非常低,还是API高些

以下是对长度为 0x000016a3 的字符串做 1000000 次循环的结果

非对齐 (T2310)

mystrlenW     wcslen           lstrlenW

6282             28234             8859

对齐 (T2310)

6250             26375             8422

 

 

 

用汇编写的mystrlen1 使用简单的rep scasw 效率比lstrlenW差

用C写的mystrlenW,使用32位校正对齐方式,成绩略好于lstrlenW,但其功劳应归功于vc

VC9对C代码的优化程度可以看出编译器的工程师们水平登峰造极,查手册发现,其优化规则使用的指令竟然除了最长的shr之类为4个指令周期,其它都使用and or,甚至连 %都被优化成了or. 70~80%都是单指令周期

 

面strlen的效率比lstrlenA差,vc9也没有帮助我超过lstrlenA

 

通过测试可以发现如果有必须尽量使用API,毕竟它的使用率是最高的,所以应该都经过特别优化

 

 

### CRT 支持 X11 功能的分析 CRT(SecureCRT)作为一款功能强大的终端仿真软件,确实支持 X11 功能。X11 是一种用于网络环境下的图形用户界面协议,允许用户在远程服务器上运行图形化应用程序,并通过本地客户端显示其界面[^1]。SecureCRT 提供了对 X11 转发的支持,这意味着当用户通过 SecureCRT 使用 SSH 连接到远程 Linux 服务器时,可以启用 X11 转发功能,从而实现远程图形化应用程序的本地显示[^2]。 为了确保 SecureCRT 的 X11 功能正常工作,需要满足以下条件: 1. **X Server 的安装**:本地计算机需要安装一个 X Server 软件,例如 Xming 或 VcXsrv。这些软件为 Windows 系统提供了 X Window System 的支持,使得 SecureCRT 可以将远程图形界面转发到本地显示[^3]。 2. **SSH 配置**:在 SecureCRT 中,需要启用 SSH 的 X11 转发功能。这通常可以通过在会话选项中选择“Enable X11 Forwarding”来完成。此外,还需要确保远程服务器上的 SSH 配置文件(`/etc/ssh/sshd_config`)中启用了 `X11Forwarding yes` 参数[^4]。 3. **DISPLAY 环境变量**:在远程服务器上运行图形化应用程序时,需要正确设置 DISPLAY 环境变量。通常情况下,SecureCRT 会在启用 X11 转发后自动设置该变量,但也可以手动确认其值是否为 `localhost:10.0` 或类似形式。 以下是一个简单的配置示例,展示如何在 SecureCRT 中启用 X11 转发并运行远程图形化应用程序: ```bash # 在远程服务器上安装图形化应用程序(如 Wireshark) sudo yum install -y wireshark-gtk # 启用 SecureCRT 的 X11 转发功能后,在终端中运行以下命令 wireshark & ``` 如果一切配置正确,Wireshark 的图形界面将会在本地计算机上显示。 ### 注意事项 - 如果遇到性能问题或延迟现象,可能与网络带宽、X Server 配置或远程服务器的资源占用有关[^4]。 - 对于某些复杂的应用程序,VNC 可能是更合适的替代方案,因为它提供更稳定的图形传输体验[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值