mysqld.cc启动分析及运行过程(题目取大了,不好意思)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysqld.cc启动分析及运行过程(题目取大了,不好意思),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1374字,纯文字阅读大概需要2分钟。
内容图文
![mysqld.cc启动分析及运行过程(题目取大了,不好意思)](/upload/InfoBanner/zyjiaocheng/463/c4d90f5c93ae4f3faf524050aa815c84.jpg)
mysql源文件的压缩文件mysql-5.7.12.tar.gz有48.2Mb,这么大个家伙。
以前学c语言什么的,觉得尼玛个臭c可以干嘛呀,敢看了源文件我彻底震精了,光是一个THD类的说明就占了3000多行,
留我风中凌乱,感慨人类软件工程之伟大,喂猫本科不是或者读研不是学计算机捏。
直接去看局部的类的话肯定要看晕,所以感觉是不是从主线入手好点呢,从驱动程序main先入手吧,然后找到了解压后mysql-5.7.12\sql的mysql.cc,
结果找了半天,个鬼int main( )都没有看到就看到了这个:
int mysqld_main(int argc, char **argv)
我想,这驱动程序或者入口程序不应该是int main( )么,后来上网一查main( )函数尼玛在\sql\main.cc中定义的。
之前自己闷头看源码,结果太复杂,又没有上网查查资料,搞得闹笑话了。
main.cc的源代码很简单,就是一个调用mysqld_main( )的过程:
/* main() for mysqld. Calls mysqld_main() entry point exported by sql library. 这里是调用mysqld_main()的入口点,终于把你给抓到了 */ extern int mysqld_main(int argc, char **argv); // 声明在别处存在这个函数mysqld_main() int main(int argc, char **argv) { return mysqld_main(argc, argv); // 调用mysqld_main() }
当我感叹main.cc简单的时候,mysqld.cc毫不留情的扇了我一巴掌,大概是9300行,腻酿哦!
头文件mysqld.h大概是980行,里面有好多好多的声明。
mysqld.cc中有两个mysqld_main( )函数
写到这不得不停下来,c基础不好,要去看下ifdef,ifndef什么的。
mysqld.cc启动分析及运行过程(题目取大了,不好意思)
标签:
本文系统来源:http://www.cnblogs.com/tuhooo/p/5459746.html
内容总结
以上是互联网集市为您收集整理的mysqld.cc启动分析及运行过程(题目取大了,不好意思)全部内容,希望文章能够帮你解决mysqld.cc启动分析及运行过程(题目取大了,不好意思)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。