小编Pan*_*ang的帖子

可执行文件需要操作系统内核才能运行吗?

我知道当源代码(比如 C++)被编译时,编译器的输出是机器代码(可执行),我认为它是直接发送给 CPU 的指令。最近我正在阅读内核,我发现程序不能直接访问硬件,而必须通过内核。

所以当我们编译一些简单的源代码,比如一个printf()函数,并且编译产生可执行的机器码时,这个机器码中的每条指令是直接从内存中执行(一旦代码被操作系统加载到内存中)还是会机器码中的每一条命令还需要经过OS(内核)才能执行?

我读过一个类似的问题。没有说明编译后生成的机器码是直接发给CPU的指令,还是需要再次通过内核为CPU创建正确的指令。即,机器代码加载到内存后会发生什么?它会通过内核还是直接与处理器对话?

operating-systems kernel

55
推荐指数
5
解决办法
1万
查看次数

意大利语键盘:输入波浪号 (~) 和反引号 (`) 字符而不更改键盘布局

以下是意大利语键盘的布局:

在此处输入图片说明

如您所见,用 C、C++、JavaScript、Java、Objective-C 和其他语言编写代码绝对必要的花括号在此图中以紫色显示。这是因为虽然大多数意大利语键盘上的其他字符可以在视觉上被视为打印字符,但这些紫色字符实际上通常不会打印在键盘的按键上。这些字符位于给定键的右上角,通常可以使用以下组合键生成:

(RIGHT SHIFTLEFT SHIFT) + (RIGHT CTRLLEFT CTRL) + (AltAltGR)+ ([])

(实际上,正如 MSKLC 应用程序所示,SHIFT + AltGr + [ 和 SHIFT + AltGr + ] 足以生成花括号。)

键盘右下角的 at (@) 符号(意大利语中称为“chiocciola”)和井号 (#) 键(意大利语中称为“cancelletto”)等字符可以按如下方式轻松生成 (AltGr + @) 或 (AltGr + #)。这些字符也是编程的基础,例如,它们可以在 CSS 中找到,即媒体查询和引用 id html 属性的选择器。

进一步检查,我们可以看到所有的美国 ASCII 键盘/程序员的键盘都被意大利语键盘的键覆盖了,除了以下是波浪号,它在 Linux 命令行上特别有用,用于引用此类系统上用户的主目录,以及反引号 (`),也称为反引号,这在 Linux shell 上也非常有用,当我们要将命令的输出转换为命令行输入。

那么,问题来了:

有了所有这些空的右上角的键,为什么没有更好的方法来生成这些字符,也许是通过CTRL- ALT-SHIFT修饰键组合?

关于这些字符的生成,我所能找到的只有以下 …

keyboard characters special-characters

50
推荐指数
5
解决办法
18万
查看次数

使用 Vim 时误按“Ctrl + S”

如果您在使用 vim 时按Ctrl+s会导致 vim 看起来好像它被锁定/卡住了,除非您按Ctrl+否则您无法进行更多更改q

有人可以解释发生了什么以及为什么?

提示- 这可能与操作系统的终端驱动程序有关!;-)

由于社区最初的负面看法,尽管暗示这与 vim 无关,但无论如何,一些新手可能会寻找有关 vim 的解决方案,我会补充说:

我希望更新的问题更有用。

keyboard-shortcuts vim

28
推荐指数
1
解决办法
2万
查看次数

Robocopy 如何确定文件是否被“更改”?

我在这里寻找有关 Robocopy 算法如何确定文件是否已更改的详细信息。例如,如果我使用 /mir 参数,Robocopy 必须确定哪些文件已更改,哪些未更改。它是否使用修改后的时间戳或文件大小,散列所有的组合?

有趣的是,它在文档中只字未提。

robocopy

25
推荐指数
1
解决办法
3万
查看次数

DNS 记录如何更新到 Internet 上的所有 DNS 服务器?

如果有人在 GoDaddy、OpenDNS 等上托管主机名/网站名称,他们将如何为新添加的主机名更新全球 DNS 服务器的记录?由于互联网上有很多 DNS 服务器,每个 ISP 为其客户提供不同的 DNS 服务器。

dns

24
推荐指数
1
解决办法
2651
查看次数

硬盘驱动器报告其物理扇区大小有什么意义?

我有一个 SSD,它可以配置为以两种不同的方式向操作系统报告其物理扇区大小:

选项 1:逻辑 = 512 字节,物理 = 512 字节

选项 2:逻辑 = 512 字节,物理 = 4096 字节 (4K)

考虑到 4K 物理扇区大小,操作系统可以获得什么好处:

  • 操作系统必须以 512 字节的扇区与驱动器通信,无论如何

  • 所有现代操作系统都与 4K 对齐并使用 4K 或 4K I/O 的倍数,无论如何

该设置似乎毫无意义,因为现代操作系统已经针对 4K 扇区驱动器进行了优化。现代操作系统不需要“询问”驱动器的扇区是 512b 还是 4K,因为默认情况下,操作系统以 4K 友好的方式执行所有操作。

例如,Windows 7 将分区对齐为 1MB(4K 的倍数),NTFS 簇大小为 4K 或其倍数,所有 I/O 均以 4K 或其倍数进行。Windows 不在乎你有什么硬盘,它会在所有情况下应用上述行为。

无论如何……我的 SSD 有这个“物理扇区大小”设置,所以它必须存在有一些很好的理由……这就是我正在寻找的原因。

顺便说一句,就其价值而言,该驱动器是Intel SSD DC S3510。驱动器的数据表说明了这一点(第 27 页):

通过使用 SCT 命令 0xD801,State=0,Option=1,ID Word 106 可以从 …

ssd hard-drive partitioning advanced-format

18
推荐指数
3
解决办法
2万
查看次数

在 Windows 10 中的多个显示配置之间切换

我在互联网上看了很多,找不到合适的解决方案。
我有3个屏幕插到我的GPU,我会打电话给他们123更好地理解。
我想在不使用 Windows 配置的情况下在两个设置之间切换display settings

设置一个:
屏幕12开启屏幕上,1作为主画面和屏幕2为扩展到屏幕的右侧1

设置二:
屏幕3仅与屏3与屏主显示12关闭。

是否有可能这两种设置之间轻松切换?
例如,结合一个快捷方式等Crtl+ Alt+F1用于设置一个与Crtl+ Alt+F2为设置2。
我什至更喜欢一种重新映射可从Win+访问的项目菜单中的选项的方法,p但到目前为止我还没有找到它是否可能。

编辑 1:
我尝试使用屏幕配置转储注册表项并重新导入它,但似乎我需要触发一些系统调用以使对注册表的更改生效。
如果您知道我应该调用哪个 DLL 或命令来刷新注册表中修改的配置,我可以自己构建一个小脚本。

multiple-monitors windows-10

15
推荐指数
2
解决办法
3万
查看次数

Ubuntu 20.04 中的蓝牙耳机没有声音

昨天,我将我的 Ubuntu 19.10 更新到了 20.04。像往常一样,我将我的蓝牙耳机连接到我的 PC 并成功连接,但即使我选择我的耳机作为输出设备,我还是通过 PC 扬声器获得声音。

但后来,我注意到我可以通过耳机听到警告声音(如终端哔声),但不是所有声音。

我尝试在 A2DP 接收器和 HSP/HFP 之间切换音频输出配置,但仍然无法正常工作。

后来,我认为它基于该终端的应用程序能够通过蓝牙设备产生声音,而其他应用程序则不能,因此它尝试通过终端使用 ffplay 播放 mp3 文件并且它工作正常,但它仍然不适用于其他应用程序( Firefox、Chrome 和 vlc)。

audio bluetooth speakers ubuntu

15
推荐指数
3
解决办法
2万
查看次数

如何让 docker 在 Cisco AnyConnect VPN 连接下工作?

当我通过 Cisco AnyConnect 客户端初始化 VPN 连接时,我失去了与 docker 守护进程的连接。我的猜测(由一些谷歌搜索支持)是这与 AnyConnect 重写的路由有关。

问题是 - 如何规避?在建立 VPN 连接后,我尝试启动和重新启动 docker 守护进程,但这种幼稚的尝试显然失败了。

然后我在谷歌上搜索了一堆提议的相当笨拙的解决方案,例如,这个人建议转发端口,然后总是使用docker --tlsverify=false- 我不想这样做。

我尝试做的另一件事是使用这里提到的解决方案:

docker-machine create --driver virtualbox --virtualbox-hostonly-cidr "25.0.1.100/24" default
Run Code Online (Sandbox Code Playgroud)

这对我也不起作用。

因此,我正在寻找对其他 docker 用户也有益的规范解决方案。

我的 docker 版本是1.11.2,操作系统是OS X El Capitan (10.11.6)

vpn cisco-vpn-client docker osx-el-capitan macos

8
推荐指数
1
解决办法
3297
查看次数

鼠标表现有趣,打开/关闭标签

我的鼠标很有趣:

在 Chrome 中:

  • 单击书签将在新选项卡中打开它们。
  • 单击前进/后退箭头将在新选项卡中打开它们。
  • 单击选项卡将关闭它们。
  • 点击链接正常。
  • 这些问题存在于隐身模式中。
  • 在 IE 上不存在。

视窗:

  • 单击任务栏图标没有任何作用。
  • Alt Tab 键仍然有效。
  • 在 Windows 上单击关闭不起作用。
  • 不能移动窗户。
  • 单击窗口失去焦点。
  • Ctrl+Alt+Delete 调出任务管理器,允许在那里点击按钮。

请注意,Windows 问题和 Chrome 问题不一定同时发生。即有时 Chrome 选项卡会出现问题,但我可以与 Windows 应用程序交互。

我正在使用插入笔记本电脑的 Logitech G500s。我已经用硬按钮禁用了笔记本电脑的触摸板,但如果激活它,也会出现同样的问题。

它非常零星地发生。

我想知道是不是因为钥匙被卡住了还是什么。如果是,是哪个键?

我在别处读到的建议表明鼠标中键被卡住了,但 G500s 本身没有鼠标中键,它具有可点击的滚动和快速滚动。

更新:我想我可能已经解决了。可能是老鼠 谷歌搜索,似乎这种鼠标模型在中间按钮周围存在问题。

虽然,这并不能解释为什么当我拔掉它时,问题仍然存在。中间按钮是否有可能发送“鼠标按下”事件,然后我拔掉它,然后因为它没有收到“鼠标按下”事件,它继续像鼠标中键按下一样?

mouse windows-7 google-chrome

7
推荐指数
2
解决办法
8万
查看次数

了解如何使用 Icals & Takeown 在 Windows 10 中进行更改和重置

  • 取得 Windows 文件夹及其内容的所有权
  • 做出改变
  • 归还原所有权
  • 了解流程
  • 在 Windows 10 环境中使用 Icacls 和删除

Before using takeown and icacls commands because of the sensitive nature of windows folders, I would like to know and understand what changes to permissions will take place, so that they can be reset to their original position. As one article I read said “Be careful, taking the ownership of system folders you may break your operating systems.” Though I don’t think I will in this case, as …

permissions ownership file-permissions windows-10

5
推荐指数
1
解决办法
7960
查看次数

使用便携式 SSD 在低内存 Windows 10 笔记本电脑上转移或减少对系统存储的写入

TL; 博士

有没有办法使用 USB 3.0 便携式 SSD 来减少写入廉价笔记本电脑的低容量 eMMC 存储?该系统只有 2 GB 的 RAM,因此分页通常是不可避免的,这会导致写入次数比原本已经脆弱的 TLC NAND 发生的写入次数多。


背景

我在这里问的这个问题类似于“使用 Windows 7 最小化对 SSD 磁盘的写入”,我已经采取了其中的一些步骤,但涉及低内存的额外复杂性。

我刚刚购买了联想 Flex 4-1130 二合一笔记本电脑规格表),这是一款具有 64 GB eMMC 存储和 2 GB 内存的廉价系统。虽然笔记本电脑在技术上可以接受 2.5 英寸、7 毫米 z 高度的 SATA 硬盘驱动器或 SSD,但这将需要拆卸一个全新的系统,该系统并不打算供用户维修(更不用说这违背了花费 230 美元购买系统),所以如果可能的话,我宁愿不这样做。我短暂地打开了底盖,发现里面没有 SATA 连接器。

虽然 64 GB 的存储空间比许多其他此类笔记本电脑(通常只有 32 GB)要好,但它是 TLC NAND,其耐用性较低。低容量也意味着驱动器很容易装满,难以保持写放大,这进一步降低了 eMMC 的耐用性。低容量本身也限制了耐力。总的来说,这意味着 NAND 的使用寿命是这台笔记本电脑(以及其他类似受限的低成本笔记本电脑)的真正问题。

更复杂的是,该系统上只有 2 GB 的 RAM。虽然 Windows 10 具有内存压缩功能,但通常不足以防止发生分页。考虑到 TLC NAND 通常仅适用于大约 …

performance ssd cache usb-flash-drive windows-10-v1709

4
推荐指数
1
解决办法
871
查看次数