V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  matrixji  ›  全部回复第 1 页 / 共 3 页
回复总数  57
1  2  3  
2022-07-01 21:43:58 +08:00
回复了 lvyumei 创建的主题 酷工作 开源基础软件公司,寻找一起创造未来的你(API7.ai)
niubility 客户居然有 NASA ……
2022-04-23 00:40:46 +08:00
回复了 zhouxin19911008 创建的主题 酷工作 HULU 北京招人啦(内推,求简历)
HULU 是不是要在杭州开分部了……
C++ 40 收不收?
2022-04-23 00:37:51 +08:00
回复了 zzyy17 创建的主题 酷工作 仲量联行(中国)- 招聘
Base?
@iiipeak Job Grade
JG 类似 Nokia 么? 杭州只有可怜的 6 ……
2022-03-16 23:33:39 +08:00
回复了 Cyshall 创建的主题 C++ 关于 C 和 C++混合编译的 Makefile
规则覆盖了。这样修改:

```
cobjs = apiClient.o kube_config.o CoreV1API.o watch_util.h cJSON.o
```

=>

```
cobjs = c/apiClient.o c/kube_config.o c/CoreV1API.o c/cJSON.o
```

```
%.o : %.c
$(CC) -c $^ -o $@ $(INCFLAGS)
```

=>

```
c/%.o : %.c
$(CC) -c $^ -o $@ $(INCFLAGS)
```
2021-12-21 23:04:53 +08:00
回复了 Coeus999 创建的主题 酷工作 头部量化基金寻找-C++开发工程师
location ?
之前和 HR 联系过,貌似要求比较高……
2021-09-18 22:36:49 +08:00
回复了 MiketsuSmasher 创建的主题 Python Python ascii()函数的逆操作
>>> eval(ascii('泷夜叉姬'))
'泷夜叉姬'
>>>
帮顶一下,昨天广发了帮顶两个字居然被禁言了……
2021-04-15 00:23:24 +08:00
回复了 peixy0 创建的主题 酷工作 [杭州] [C++] 诺基亚 5G 部门内推
帮顶,离开满两年了……
2021-03-25 17:12:28 +08:00
回复了 zyxdut 创建的主题 酷工作 [商汤科技] [研究院] [组内直招] c++开发工程师
@zyxdut 坐标 0571 但是年份有 15+了 😂
2021-03-23 23:23:19 +08:00
回复了 zyxdut 创建的主题 酷工作 [商汤科技] [研究院] [组内直招] c++开发工程师
Full match 可惜年份不符合了。研究院是可以挑工作地点的那种岗位吗……
2021-03-04 19:19:01 +08:00
回复了 joz 创建的主题 求职 苏州除了微软和华为还有那些比较好的互联网公司?
clickpaas
2021-03-03 19:06:36 +08:00
回复了 NebulaGraph 创建的主题 酷工作 坐标杭州, 15 薪, 20k-40k 找前端开发、实习生
帮顶,很不错的软件,希望基础架构软件方面的公司越来越多,Github 给提过 PR 。
2021-02-07 22:23:53 +08:00
回复了 salforis 创建的主题 酷工作 招 IoT 方向的资深后端, ByteDance 飞书,坐标杭州
工作 3*5 年了,是不是不用考虑了……
和声网的区别是啥,优势是啥?
2021-02-05 10:28:25 +08:00
回复了 blacksmith 创建的主题 C++ c++中多线程操作 string 引发的 coredump,栈中比较奇怪的一点
@blacksmith 重新看了一下 libstdc++的源码。baseic_string::operator=的 实现,不同版本不一样。所以我的环境永远不会 codedump 。

https://github.com/gcc-mirror/gcc/blob/releases/gcc-4.8.5/libstdc%2B%2B-v3/include/bits/basic_string.h 是 Centos 对应的版本,实现很简单:
basic_string&
operator=(const basic_string& __str)
{ return this->assign(__str); }
无条件地去 assign 新的内容,assign 里面的逻辑就是 free 老的,clone 新的。

https://github.com/gcc-mirror/gcc/blob/releases/gcc-9.3.0/libstdc++-v3/include/bits/basic_string.h 你可以找下新版的实现就不一样了,如果当前的长度够了,就不会去 free,而是直接在当前 buffer 上 Copy 。

由于是多线程操作,所以会造成两个线程同时执行 assign 的操作。
那么有可能出现:
同一个地址被 free 两次,照成 double free,那就是 @Monad 提到的第一个错误。
被 free 掉了继续使用,那就是你出现的这种情况:
线程 1:Free -> New -> 使用(实际已经被 Free 掉了)
线程 2:..........................Free.............

所以 coredump 的时机也就不一定了。如果楼主要细究,可以用 valgrind 跑一下就清楚了。
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3581 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 10:41 · PVG 18:41 · LAX 02:41 · JFK 05:41
Developed with CodeLauncher
♥ Do have faith in what you're doing.