kex_exchange_identification: Connection closed by remote hostConnection closed by 20.205.243.166 port 22致命错误:无法读取远程仓库。请确认您有正确的访问权限并且仓库存在。
memcpy
和 memmove
都可用于复制一段内存。
它们之间的区别很简单:
memmove
更安全:当源内存块和目标内存块存在重叠区域时,memcpy
的行为是未定义的。它可能崩溃或产生错误数据。而且在debug 和 release 模式下的表现各不相同。memcpy
更快。
这是两种不同编程思想的实现。一种更注重安全, 一种更注重效率。
下面是两个方法可能的实现方式.
项目中发现使用个别机器的 IE 访问某些个别页面出现 500 错误。分析发现出现错误的机器,其 IE 的 HTTP RequestHeader Accept-Language 是 zh-Hans-CN
, 而正常的机器是 zh-CN
. 由于某些原因无法修改服务器程序,那只能强制修改 IE 的 header.
方式是修改注册表:
计算机\HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International
,
添加或修改项 AcceptLanguage
为 zh-CN
, 重启 IE 即可。
常见的中文语言标签
- zh-Hans 简体中文
- zh-Hans-CN 大陆地区使用的简体中文
- zh-Hans-HK 香港地区使用的简体中文
- zh-Hans-MO 澳门使用的简体中文
- zh-Hans-SG 新加坡使用的简体中文
- zh-Hans-TW 台湾使用的简体中文
- zh-Hant 繁体中文
- zh-Hant-CN 大陆地区使用的繁体中文
- zh-Hant-HK 香港地区使用的繁体中文
- zh-Hant-MO 澳门使用的繁体中文
- zh-Hant-SG 新加坡使用的繁体中文
- zh-Hant-TW 台湾使用的繁体中文
设置 IE 代理有多种方法。常用的是修改注册表和调用 InternetSetOption
API 。
1. 注册表
IE 设置在注册表中所在的位置是
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
其中:
ProxyServer
Value Type: REG_SZ
Value Data: “ProxyServerName:Port”ProxyEnable
Value Type: REG_DWORD
Value Data:0 = Disable 1 = Enable
ProxyOverride
不使用代理的地址的列表
Value Type: REG_SZ
Value Data: “list_of_exclusion” 。可以使用通配符*
. 使用分号;
分隔, 如192.168.1.*;*.domain.com;<local>
2. 使用 Windows API
示例代码如下 :
1 2 3 4 5 6 7 8 9 10 11 |
INTERNET_PER_CONN_OPTION_LIST List; INTERNET_PER_CONN_OPTION Option[1]; unsigned long nSize = sizeof(INTERNET_PER_CONN_OPTION_LIST); Option[0].dwOption = INTERNET_PER_CONN_FLAGS; Option[0].Value.dwValue = PROXY_TYPE_DIRECT; List.dwSize = nSize; List.pszConnection = NULL; List.dwOptionCount = 1; List.dwOptionError = 0; List.pOptions = Option; BOOL setopts = InternetSetOption(NULL, INTERNET_OPTION_PER_CONNECTION_OPTION, &List, nSize); |
关于更多的信息请 参考这里 docs.microsoft.com
3.Others
a. 注意事项
在 IE9 之前, 以上步骤之后可能需要重启 IE 才能使设置生效。或者在打开 "Internet 属性" 面板时设置不生效。此时需要:
1 2 |
InternetSetOption(0, INTERNET_OPTION_SETTINGS_CHANGED, 0, 0); InternetSetOption(0, INTERNET_OPTION_REFRESH, 0, 0); |
来通知其它应用IE属性被修改。
b. 打开 "Internet 属性" 设置面板
Rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl,,4
Rundll32
可以做很多事情。具体可以看这里 List of Rundll32 Commands in Windows 10
昨天为我的rmbp配了一个外接显示器,今天突然发现mac无法连接wifi了,整个下午尝试了包括重启路由器、重置路由器、更换各种wifi参数、重启电脑等等一系列操作,均无法解决。
偶然在网上发现有人说拔掉 U 盘/ type-c 设备 / 移动硬盘等外设可以解决这个问题,我尝试断开外接显示器,果然一下子连上了wifi。如果wifi和显示器只能二选一,那我的显示器岂不是白买了,在 google 上查找度尝试,最终找到几种对我有效的方法:
一 删除设置缓存
1. 关闭wifi
2. 重启电脑
以确保所有用到网络的应用程序都关闭了
3. 删除相关文件
需要先备份 /Library/Preferences/SystemConfiguration
下所有的文件,再将该文件夹删除
4. 重启电脑
5. 打开wifi
这种方法不是对每个人都有效。另外操作前最好先备份一下重要资料。
二、改变外设位置
第一种方法并不是每次都管用。偶尔还得重新弄一回。后来发现:
当外设处于 Mac 的正左侧或正右侧是,断网现在最为明显。当外设位于 Mac 的前侧或后侧时,网速最好。
三、Mac 外壳接地
无意中发现手触到 Mac 某些地方时,连网突然恢复,可能是人体接地使 Mac 天线发生了变化。多次实验当手接触到这两个位置时,信号最好:
想办法让这两个地方接地就可
在使用 Win10 开发近 5 年的时间里,我填了各种各样的坑。最近终于受不了,将办公室里的开发机器的操作系统换回 Win7 。但是在重装 Win7 系统后,发现了一个问题:Win7 系统盘符并不是 C:/
而是 F:/
。这导致有些软件不能使用了。在网上找了一通后,找到如下办法可以将系统盘符换回 C:/
:
修改 HKEY_LOCAL_MACHINE\SYSTEM\MountedDevice\DosDevices\F:
的键名为 \DosDevices\C:
重启以后,发现系统盘符果然改成了 C:/
。然而,系统无法正常使用:无法加载用户配置文件、无法打开系统应用,甚至连资源管理器都无法打开!
这个时候如果想将注册表改回去,发现
无法打开 C:/windows/regedit.exe, 找不到指定文件
经过一通谷狗之后,有如下解决办法:
1. 恢复到之前的盘符
使用 PE 引导盘,进行系统后打开 regedit.exe
,但是这个时候修改HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
是无效的,因为此时的注册表是 PE 系统的注册表,而不是 Win7 的注册表。应该想办法加载 Win7 的注册表,方法如下:
将鼠标定位在 HKEY_LOCAL_MACHINE\
上,选择菜单 文件 -> 加载配置单元
, 在对话框中选择 F:\Windows\System32\config\SYSTEM
,在新加载的注册表项里找到 MountedDevices
, 将 \DosDevices\C:
改加 \DosDevices\F:
,并重启。
因为 regedit.exe
只是注册表编辑器,真正的注册表文件存储在 F:\Windows\System32\config\SYSTEM
里。
2. 解决盘符的问题
在注册表里搜一下 F:/
,发现实在太多了。这决定里通过修改盘符不能解决问题而只会引发更多的问题。冷静下来思考了一下,想到如果使用磁盘映射可能可以解决问题:
首先,查看是否有磁盘占用了 盘符 C,如果有,则改之。
然后,cmd 下使用 subst
命令:
1 |
> subst c: f:/ |
此时发现 "我的电脑" 中果然出现了 C 盘且和 F 盘一毛一样。至此问题得到解决。
3. 改进
这种方法的缺点就是,该命令在重启后会失效。所以需要在启动时自动运行。我选择将其加入到 Windows 计划任务库里
附:subst 命令
- 命令基本格式
> subst [盘符] [路径]
- 查看所有映射
> subst
- 解除某个映射
> subst [盘符] /D
绘图
画曲线的交点
Mesh
,MeshFunction
, 二是求出点,并使用 Graphics
1 2 3 4 5 6 |
(*Mesh*) Plot[{Sin[x], 1/x},{x,0,6Pi},Mesh->{{0}}, MeshFunctions->Function[x,1/x-Sin[x]], MeshStyle->Directive[PointSize[.02], Red]] (*Graphics*) pts = NSolve[Sin[x] == 1/x && 0<x<6Pi && y == 1/x,{x,y}]; Show[Plot[{Sin[x], 1/x},{x,0,6Pi}], Graphics[{Red,PointSize[0.02],Point[{x,y} /. pts]}]] |
eg.2:
1 2 3 4 5 6 |
(*Mesh*) ContourPlot[{y^2 == x^3 + 3, x^2 + y^2 == 4},{x,-5,5},{y,-5,5}, Axes->True, Mesh->{{0}}, MeshStyle->Directive[PointSize[.02], Red], MeshFunctions->Function[x, 4-x^2 - (x^3 + 3)]] (*Graphics*) pts = NSolve[y^2 == x^3 + 3 && x^2 + y^2 == 4 && -5 < 0 < 5 && -5 <y < 5,{x,y}]; Show[ContourPlot[{y^2 == x^3 + 3, x^2 + y^2 == 4},{x,-5,5},{y,-5,5},Axes->True], Graphics[{Red,PointSize[0.02],Point[{x,y}/.pts]}]] |
文本偏移与旋转
文本绘制使用 Text[expr,coords,offset,dir]
,其中 offset
为偏移量,单位为一个 point(一般是 1/72 inc) 。 dir
为文本的方向
eg.1 偏移
1 2 |
Pt = {3,3}; Show[ {Graphics[{ Text[A,Pt,{2,2}], Text[B, Pt,{2,-2}], Text[C,Pt,{-2,2}], Text[D,Pt,{-2,-2}]}], Graphics[{Red, PointSize[.02], Point[Pt]}]}, Axes->True] |
1 2 3 4 5 6 7 8 9 |
Graphics[{ Text["ABC 1->0", {0, 0}, {0, 0}, {1, 0}],(* 正常 *) Text["ABC 1->1", {1, 0}, {0, 0}, {1, 1}], (* 45 *) Text["ABC 0->1", {2, 0}, {0, 0}, {0, 1}], (* 90 *) Text["ABC -1->1", {3, 0}, {0, 0}, {-1, 1}], (* 135 *) Text["ABC -1->0", {4, 0}, {0, 0}, {-1, 0}], (* 180 *) Text["ABC 1->-1", {5, 0}, {0, 0}, {1, -1}], (* 225 *) Text["ABC 0->-1", {6, 0}, {0, 0}, {0, -1}] (* 270 *) }, Axes -> False] |
计算
求模等方程
1 2 |
pts =Solve[Reduce[Mod[y^2, 23] == Mod[x^3 + x + 1, 23], {x,y},Integers] && 0<= x < 23 && 0<= y < 23]; {x,y} /. pts |
1 2 3 |
output = {{0, 1}, {0, 22}, {1, 7}, {1, 16}, {3, 10}, {3, 13}, {4, 0}, {5, 4}, {5, 19}, {6, 4}, {6, 19}, {7, 11}, {7, 12}, {9, 7}, {9, 16}, {11, 3}, {11, 20}, {12, 4}, {12, 19}, {13, 7}, {13, 16}, {17, 3}, {17, 20}, {18, 3}, {18, 20}, {19, 5}, {19, 18}} |