- @egmkang
特地上来回你一帖:
1. LZ与你的id有点像…… 基友?
2. 让你在cnblogs上谈C++,让你在cnblogs上谈C++!!! - 的同时必须初始化,因为之后不允许再赋值。
[code]
const int x = 12;
// x = 26; // 错误,不能赋值
// const int y; // 错误,定义时必须初始化
struct T {
const int x_;
T(int x) : x_(x) /* 必须在此处初始化 */ {}
...
[/code]... - 面向对象技术严重误导程序员心智,建议看common lisp object sysmtem或者干脆忘记这技术。
- @egmkang
即使支持html5的浏览器出现了,也不会放弃对目前的html支持吧?
没必要转啊……
最近上船的人好多…… 高爷爷要hold住!!! - 终都只会用emacs/vim编辑本地的html/rst/tex文档。
本体始终是本地笔记, 只是顺带想找个地方将可以公开的部分放上去, 顺便实现一些评论啊,同名文件消歧义(维基百科那样)啊什么的……
感觉很折腾…… 但重要的东西不由自己控制心理又很慌啊……
有没有什么地方我想错了 >_< ?... - @egmkang
也不是一切文档……
因为以前做过一个"可执行内存分配器",所以与这有关的文档就需要看……
mmap/mprotect肯定算~
可执行保护粒度是页,所以sysconf也算……
类似的valloc/posix_memalign也……
x64貌似可配置的……
blog我打算自己做一个……
需要什么功能我就可以自己动手,不必等着博客服务提供了……
不过这方面不熟悉啊,而且gae又被锁了半年多了…… 很没动力…… - 页大小最好不要简单假定为4096哦亲~
有个sysconf还是啥的函数来着……
既然都用mprotect(posix)了,也可以用valloc或者posix_memalign了亲~ - pe/coff spec同时描述image与object文件。
object文件中section name是一种约定俗成。
而(由msvc的link.exe产生的)image文件有另一个描述一些特殊节的地方 —— 在optional header中data directory。
load是根据data directory而非section name来寻找特殊节的。
比如很多image里面没有idata与edata节, 而load是通过data directory找到import与export信息, 这些信息可能在rdata或者其他节里。 - 这东西boost有, 貌似叫signal。
另外还有几个类似的库。 libsig还是libsig++来着……
boost好像还有一个功能, 就是获取返回值。
可以丢弃, 可以取所有函数返回值的和, 最大值, 最后一个等等。
另外, _impl_list 这种名字是C#的习惯。
在C++中是被保留的名字, 应该用 impl_list_ 。 - [code]
va_list(ap,float);
va_list(ap,char);
[/code]
是错误的。
C语言对没有类型描述的参数(缺少原型, 或者可变长参数)会执行默认参数提升。
只会接受到int与double参数, 不会接受到char与float。 - @键盘农夫
貌似只有CU呃……
cppblog也主要是C++的, 与C区别还是蛮大的…… - @dodolook
好的, 你赢了…… - 这…… 这不是做学问的态度…… 客观啊, 客观……
为祖国争光是怎么一回事? - @dodolook
void main与int main的不同可以先放一边。
用 int main 就对了。
这才是"规范" —— 写入C与C++标准文件的规范。
而不是随便什么人脑门一热、 脑壳一拍就定的"规范"。 - @dodolook
M-x shell <RET>
就是:
1. 同时按 meta+x
2. 输入 shell
3. 按回车<RET>键 - @键盘农夫
-_- 怎么混cnblogs来了…… 这里是.net的地盘哦…… - r\n") —— 刻意的把 \r\n 写出来……
觉得奇怪, 所以问问……... - 试试shell-mode吧: M-x shell <RET>
然后在里面输入: ~/hello
程序的输出会插入到 *shell* buffer 里面, 而不是在 echo area中一闪而过。
然后, 将光标移动到 ^M 上, 执行 C-x =
看看echo area里面是不是 Char: RET (13,#o15,#xd) ...
如果把程序改成 printf("hello world\n") 就不会有 ^M 出现了。 - 谁介绍的规范?
我很费解的是: 明明有短的写法, 还会有"规范"使用长的写法。 - 在各个平台上得到希望的eol。
引用:“dodolook:
@OwnWaterloo
^M是我自己误操作打上去的字符!”
这个不是误操作的。
引用:“
我们在Emacs 中运行它:M-! ~/hello。在小缓冲区中,我的输出是:“hello, world!”
”
你看对应图片, 是不是有个^M。
这个^M不是你打上去的, 而是程序输出的。
... - \r\n? 输出hello,world!^M lz不觉得奇怪么……
return (0); 是从哪学的? 为什么不 return 0;? - @gussing
恩,对, TerminateThread 比 ExitThread 危险太多, 杀人越货而非自杀…… - @gussing
windows许多高级特性我也不懂, 所以文章就没细看……
是同一个人……
cnblogs注册有一段时间了, 因为blog程序比cppblog做得好。
但这里主要关注的是.net, 只好潜水了…… - readex与ExitThread。
上面说了, 这是两函数是正常退出的唯一方法。
所以, 主动调用ExitThread与_endthreadex与线程函数返回后被调用的区别就是: 从调用点所在frame到ExitThread(thread_routine(arg))所在frame的余下代码(这里面就包括C++栈上对象的析构函数)不能被执行。
仅此而已。
这与"是否资源泄露"是完全不相干的问题。
主动退出, 也可以写出不泄露的代码。
等线程函数返回, 也可能写出泄露的代码。
2. CreateThread 别碰? 必须_beginthreadex?
你可以试一下, - http://unitedsoft.ch/clang/clang.exe
才10M? unbelievable…… - @egmkang
cmake, python都有, gnuwin32 tools是需要一个下一个……
python就用的installer, 不知道有没有dev……
但我是用emacs的, 需要么……
cygwin就太搓了……
呃, 这东西大致有多大。。。? - @egmkang
呃, clang貌似支持Windows了……?
要编译多久哇? 有多大?
以前编译那个gccsense, 800多M, 还失败鸟, 还是在ubuntu上…… - Windows程序员貌似又悲剧鸟~
不知道什么版本才可以改善……










