V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  geelaw  ›  全部回复第 1 页 / 共 170 页
回复总数  3397
1  2  3  4  5  6  7  8  9  10 ... 170  
15 小时 26 分钟前
回复了 LAMoon 创建的主题 问与答 字节跳动的 AI 标注实习生可以去吗?
数据标注是对科学进步有意义的工作,比如李飞飞教授的 ImageNet 项目,但标注工作本身的内容对学习知识和充实简历没有帮助。
https://github.com/GeeLaw/bio-site 支持 BibTeX ,设计比较朴素就是了
2 天前
回复了 CatBoy 创建的主题 Apple 你的账户已在 App Store 和 iTunes 中被禁用。
>账户余额都作废了

这很可能是违法的,中国人在中国用美国的信用卡和 Apple 交易,可能适用:中国、美国联邦、信用卡发卡地、绑定该信用卡时持卡人在美国的州、加州,的法律。我的理解是充值到 Apple 账户里的金额等同于 gift card ,在此理解下,美国联邦级别的法律禁止最后一次活动后五年内令充值余额作废,加州法律禁止余额作废。

最不济,你可以在线提交或者致信你的银行,要求他们撤销所有曾经用于该 Apple 账户的交易,至少余额部分是非常合理的,毕竟 Apple 未能完成它在此交易中承诺的对价。
改变思路,用一般关系而不是函数关系。
7 天前
回复了 ohayoo 创建的主题 数学 大佬们,一年级数学题帮忙看下
“再”是赘语,“过三天就知道结果了”和“再过三天就知道结果了”的意思是一样的,但后者可能暗示“已经等过了”并包含迫切感。确实是语文题,然后我相信我的汉语语言能力。

文心一言的答案是驴唇不对马嘴。

@Vegetable #13 配图真是措手不及!
@geelaw #9 没有超过 size_t (((φ(◎ロ◎;)φ))) 是 MSVC 只支持至多 2147483647 个元素。
new char[2,701,131,776] 会分配长度是 776 个元素的 char 数组,不是你期待的 2.51 GB 。

int main() { new char[2701131776] { }; }

这个程序在我的电脑上编译为 64 位的话可以正常运行,并且确实占用了 2.51 GB 内存,如果用 32 位编译器则编译失败,因为分配的数组规模超过了 size_t 。

抛出 std::bad_alloc 的意思就是分配失败,或许你的页面文件和实体内存不够大。

如果数据来自于文件,可以用内存映射文件,Windows 的文档是 https://learn.microsoft.com/en-us/windows/win32/memory/file-mapping
POSIX 的文档是 https://pubs.opengroup.org/onlinepubs/9699919799/functions/mmap.html
> C 语言中打印指针的值打印的是 OS 分配的虚拟地址的值吗?

不是,它打印的是这个指针的整数表示。没有要求指针的整数表示必须等于操作系统级别的虚拟地址。当然,最常见的实现里,指针的整数表示就是它指向的对象的内存位置的虚拟地址。

> 要怎么知道 OS 给这个 C 程序进程分配的虚拟地址的大小呢?

操作系统不给“C 程序”分配虚拟地址,“虚拟地址”的大小可能也不是你想要的那个答案。操作系统为每个进程提供虚拟内存,每个程序都以为自己占有全部寻址空间的虚拟内存,虚拟地址的大小和处理器有关。

有意义的问题是:一个进程如何知道自己的虚拟内存里有多少页是可读的、可写的、可执行的?这个问题无法从 C 语言的抽象层级回答,你需要操作系统的 API 。

> 并且如何知道哪一块内存大小是可以读可以写,以避免出现下面程序的 Segmentation Fault 呢?

在 C 语言看来,只有 malloc 等分配得到且未 free 、realloc 等的、取静态存储期对象的地址得到的、取自动存储期对象地址得到且该对象还未离开作用域的指针,以及它进行有定义算术运算得到的指针,才是有效的指针。解引用无效指针的效果是未定义行为,段错误仅仅是它的一种表现方式。

当然,结合操作系统 API 之后有更多获得有效指针的方式。但楼主本来的这个问题意义不明——如果你不知道一个指针怎么来的,使用它有什么意义呢?如果你知道一个指针怎么来的,那你当然知道这个指针是否有效。
8 天前
回复了 pig1984 创建的主题 Chrome Windows 下的 Chrome 玄学问题讨论
查看你的 Chrome 快捷方式的命令行是否有参数改变其行为。
@geelaw #2 更正:隐式声明是 int system();

#11 空白的参数列表的意思是没有提供参数列表信息,并没有对不上。
system 是标准库函数,链接的时侯默认是带标准库的,所以找到了。

C 语言没有函数重载,不需要复杂的名称修饰,int system(…); 和 int system(char const *); 链接的时候去找的是同一个符号,前者是隐式声明的结果,后者是标准库的声明,故隐式声明的调用可以链接到标准库函数。
楼上已经说过 return 的时候 finally 会执行,把必须执行的代码写在 finally 里面而不是后面对阅读更好。另外就是

try { throw something; }
catch { throw; } // 重新 throw
finally { other; }
another;

里面 other 是会执行的,another 不会执行。当然你可以说 another 可以挪到最外面的 catch 后面,但是这样会导致整个程序不能非平凡地使用方法,因为最外面的 catch ,在一段“正常书写”的代码里,不一定在当前方法里面。
首先,Windows 不可能要求 txt 文件一定按某种格式存储,或许你的 txt 文件里面只有三个字节。所谓 Windows 的换行是 \r\n 是指通常的 Windows 软件会这样存储换行,但如 VSCode 等代码工具可以配置换行方式。

其次,这是 C 语言的抽象,任何平台的行分隔序列、行结尾序列,在文本模式下都会在通过 FILE 进入 C 语言时被变换为 \n ,并且 \n 会在通过 FILE 进入平台时换成平台特定的序列。要获得文件的字节内容,应该用二进制操作,即 rb 、wb 。
12 天前
回复了 xbleey 创建的主题 问与答 假护照是怎么离境的
如果拿的是外国护照且该护照是真的,或者是真护照篡改而来且篡改前的护照没有被报失且篡改得很好,那么边检很可能无法意识到这一点。
喔另外 Win32 的文件 API 是支持 \ 和 / 作为通常的路径分隔符的,实际上自从 MS-DOS 2.0 和 Windows 1.0 开始就一直支持两种方向。

https://retrocomputing.stackexchange.com/a/28348
会影响到传统 exe ,但补全导致的通常不会。

考虑 a.exe /b 这里 a.exe 会优先解读 /b 为一个开关、选项。如果写 a.exe \b 则 \b 通常是指当前磁盘根目录下叫做 b 的文件。补全一般会得到带盘符的绝对路径,比如 a.exe C:/b 和 a.exe C:\b ,这两者都只能被解读为路径,所以没问题。

另外我不太懂楼主设置的代码是否只在补全路径的时候才调用——有的时候按 Tab 补全的是参数的范围,此时贸然把 \ 替换为 / 是错误的。此外,还有 UNC path ,我不记得 UNC path 把 \ 改成 / 是否有效。
@GeruzoniAnsasu #11 应该这样做可以改进可执行文件大小:

void foo(int *array, size_t length);

template <size_t length>
void foo(int (&array)[length])
{ foo(array, length); }

最终结果里面 foo 模板的实例应该都会内联从而完全消除。如果要支持实参传递则要实现为 functor……
>虽然他是一个网页,但是它所有代码都是在你的浏览器里运行的,所以他是单机的。

这个说法很怪,一般认为浏览存储在远程计算机上的静态网站也属于非单机活动。

亲自演示即可证明楼主需要表达的,比如新建一个文件并重命名为 a.htm ,在里面写个 aaa 或者用 script 包裹一段调用 alert 的代码,然后双击这个文件,那当然就会在浏览器里打开并且看到,此时很明显是非联机。也可以用 Word 另存为 HTML 之类的。
最后,txt 文件在默认状态下没有 IExtractImage——这可以用 IQueryAssociations 发现,或者查看注册表 HKCR\.txt 以及 HKCR\txtfile 以及 HKCR\SystemFileAssociations\text 里面都没有 IExtractIcon, IExtractImage, IThumbnailProvider 的注册。OneDrive 会提供 .txt 的缩略图。
多嘴一句,为什么云文档需要特供的缩略图等 shell 功能?因为云文件不一定已经下载到本地,而为了显示缩略图或者文件预览下载文件是大忌,所以云文档的缩略图由云存储提供商准备。

参考阅读 https://devblogs.microsoft.com/oldnewthing/20170503-00/?p=96105 另外提示链接里文章的 online 和 offline 的意思和当今常见的一种用法相反。
1  2  3  4  5  6  7  8  9  10 ... 170  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   956 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 51ms · UTC 21:28 · PVG 05:28 · LAX 14:28 · JFK 17:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.