xml地图|网站地图|网站标签 [设为首页] [加入收藏]
来自 每日资讯 2019-10-05 13:13 的文章
当前位置: 新濠国际登录平台 > 每日资讯 > 正文

CMake语法学习笔记 - 亚特兰蒂斯 -,初步分析思路

学习按照:

文章出处:知乎专栏 “你好,C++”,作者:陈良乔

参考:

前言:我对数据分析很感兴趣,这是第一次尝试把自己的学习过程记录下来,希望能帮助到其他有类似想法的朋友少走一点弯路。

整体思路:安装,常用命令,文件系统,C和C++在Linux下开发;整体可见:知乎答案1

链接:

  • CMake 实践手册

  • CMake语法学习笔记 - 亚特兰蒂斯 - CSDN博客

  • cmake 学习笔记(一) - dbzhang800 - CSDN博客

  • 向您的项目添加 C 和 C++ 代码 | Android Studio 官方文档

  • Android NDK 开发:CMake 使用
    扩展阅读:

  • Android Studio NDK CMake 指定so输出路径以及生成多个so的案例与总结 - zhangbh的专栏 - CSDN博客

    如果项目中需要将功能模块生成不同的 so 库,可以参考下文章的例子

  • Make 命令教程 - 阮一峰的网络日志

    学习 make 命令可以了解 Makefile 构建规则

  • make makefile cmake qmake都是什么,有什么区别? - 知乎

    make用来执行Makefile;Makefile是类unix环境下(比如Linux)的类似于批处理的"脚本"文件;cmake是跨平台项目管理工具,它用更抽象的语法来组织项目,是一个项目管理工具,是用来执行CMakeLists.txt;qmake是Qt专用的项目管理工具,用来处理*.pro工程文件。Makefile的抽象层次最低,cmake和qmake在Linux等环境下最后还是会生成一个Makefile。cmake和qmake支持跨平台,cmake的做法是生成指定编译器的工程文件,而qmake完全自成体系。

初步想法产生:我拜读了知乎-何明科老师的答案。其中他提到对一个行业兴衰的答案进行了分析。我看了他的分析,很感兴趣,想自己做着玩。
大的思路就是,分析已有的专业回答网站以及社区上的答案,得出一些有价值的分析。因为我现在直接去抓取全网的数据我也没有那个能力。反而我觉得分析一些问答网站,尽管他们已经是对他们的原始信息的总结了,我对他们这些回答的再分析,或许也有一定的发现。
主要针对一些我感兴趣的经济之类的回答(以后也可能会扩展到其他领域,比如大家关心的婚恋之类的),问题的回答数和关注者要足够多,这样分析的数据量较为充足,分析出来的结果有较高的参考价值。我想这个方法可能与社会上大公司直接爬取全网数据来分析要低档次一些。但我认为也有自己独特的价值。因为知乎等网站上的专业回答者本身其实就可以视为“专家”,而对大量专家的回答的分析,应该可以一定程度上揭示某些问题的真实情况,至少能够从整体反映部分专家对这个问题的见解。此外,对知乎问题答案的分析,再重新发布到知乎该问题中,我想也可能会给后来的读者对一个知乎问题的答案概况(这个问题下方可能有有几千个回答)有更方便的了解。当然,这只是我目前的初步感觉,具体怎么样,还要看我做出来的效果到底如何。
初步分析思路:抓取某个答案下的所有回答,利用自然语言来分词、分析频率、赞数等一系列数据特征,然后结合具体答案,得出自己的分析结论。
完成以上工作需要两个大的步骤:
1、爬虫爬取知乎某个问题下的所有答案、评论数、赞数
2、分析:利用自然语言处理来分析答案中的关键词频率;分析答案的特征分布(赞数分布、评论数分布);分析关键词和赞数关系;异常点分析:得出结论

基础学习的思路见:知乎答案2(知识点总结:)

姓名:石傅琨 学号:17101223437

4月3日经过一系列筛选后,找到一个我比较满意的知乎爬虫。对作者写出如此好的知乎爬虫表示感谢!
其官方地址如下:http://zhihu-oauth.readthedocs.io/zh_CN/latest/index.html
安装很简单
首先你必须有Python+pip环境,我之前就安装了canopy(python2.7) 环境(windows)。canopy可以自己去google,是一个python的集成IDE环境。不过只有python2的版本。
如果需要py3,可以用anaconda集成环境。这两款都支持Linux和windows。
管理员身份打开cmd窗口输入以下命令即可安装完毕
pip install zhihu_oauth
按照作者教程,编写第一个抓取答案的demo程序如下

补充:其他

【嵌牛导读】正所谓“工欲善其事,必先利其器”,而要想做好C++程序设计,自然也离不开几件像样的兵器。下面我们就来看看C++兵器谱上 有哪些神兵利器值得我们学习掌握。排在兵器谱上首要位置的就是C++集成开发环境。

**[python]** [view plain](http://blog.csdn.net/weixin_38166277/article/details/68953951#) [copy](http://blog.csdn.net/weixin_38166277/article/details/68953951#)

# coding=utf-8  

from __future__ import unicode_literals, print_function  

import os  

from zhihu_oauth import ZhihuClient  


TOKEN_FILE = 'token.pkl'  


client = ZhihuClient()  

if os.path.isfile(TOKEN_FILE):  
    client.load_token(TOKEN_FILE)  
else:  
    client.login_in_terminal()  
    client.save_token(TOKEN_FILE)  
    # import、构建 client 以及登录知乎的代码省略  

#修改括号里面的数字参数即可,我抓取的是问题“https://www.zhihu.com/question/<strong>39957694</strong>”眼看着自己所在行业日渐衰退是怎样一种体验?  
question = client.question(39957694)  

print(question.title)  

for answer in question.answers:  
    print(answer.author.name, answer.voteup_count)#命令行中会输出每个答案的作者名和赞数  
    answer.save(question.title,answer.author.name+'-'+str(answer.voteup_count))#第一个参数是答案的存放目录名,第二个每个答案的文件名  

 

【嵌牛鼻子】C语言、C++

运行该demo,第一次时需要输入知乎账号和密码
随后就可以下载到所有答案。如下图所示。

参考读书:

【嵌牛提问】开发过程的工具有哪些?

每个html的题目是答案的作者名和该答案的赞数。
而html文件内容如下

《鸟哥的Linux私房菜》

【嵌牛正文】

接下来就是学习如何分析这些答案了。
这里再次感谢该爬虫的作者,虽然目前还不知道作者的名字,也正是这些优秀大神们的无私分享,帮助和鼓励了我们继续前行。
接下来是分析,首先是自然语言分析。写在下一篇了。

 

所谓的集成开发环境(Integrated Development Environment,IDE),就是一套用于开发C++程序的软件集合,一般包括代码编辑器、编译器、调试器和图形用户界面工具等,是集代码编写功 能、分析功能、编译功能、调试功能于一体的开发软件套装。一些复杂的新型IDE甚至融合了建模功能、测试功能、项目管理等,几乎完整覆盖了软件开发的整个 生命周期。

优秀链接:

因为Windows和Linux/UNIX这两大平台应用领域的不同,导致这两大平台上的C++开发工具也各不相同。

Linux思维导图

2.3.1 在Linux/UNIX平台上用GCC开发C++程序

Linux优秀链接整理,新濠国际登录平台,1,2(很优秀的博客合集),

在Linux/UNIX平台上,虽然也有图形化的集成开发环境可以使用,但为了追求效率, C++程序的开发更多地还是以命令行的形式进行的。比如,Linux/UNIX平台上的C++程序员使用vi编辑源代码;使用GCC编译代码;使用GDB 调试代码等等。从严格意义上说,这些工具并不是一个完整的集成开发环境,它们就像“八国联军”一样,共同拼凑成一条Linux/UNIX平台下开发C++ 程序的工具链,但又只是各自负责完成C++程序开发中的某个环节。这其中最重要的,就是GCC所负责的编译环节。

 大棚的博客,Linux简述

在前面的例子中,我们用Windows平台上的Visual Studio简单几步就完成了一个C++程序的创建,而同样的工作,要是在Linux/UNIX平台上进行,就没这么简单了。实际上,在Linux /UNIX平台上,因为缺少图形化的集成开发工具的支持,C++程序的创建基本上都是用GCC编译器,再配合其他编辑调试工具,以手工的方式完成的。

 

我们通常所说的GCC(GNU Compiler Collection)编译器,实际上是多个编译器的统称。GCC最开始原本只能编译C语言程序,但是,当C++逐渐流行起来之后,GCC很快地被扩展到 可以编译C++程序。之后,GCC更是被进一步扩展,变得可支持Fortran、Objective-C以及Java等主流开发语言的编译,成为一个编译 器套件。从GCC的应用来看,它是Linux/UNIX平台上最常用的编译器。同时,在基于Linux/UNIX平台的嵌入式开发领域,GCC也是用得最 普遍的一种编译器。除此之外,GCC在其他主流的操作系统上都能运行,如Solaris、Windows、Mac OS X操作系统等。正是GCC编译器应用的广泛性,使其成为C++编译器的事实标准。

本文由新濠国际登录平台发布于每日资讯,转载请注明出处:CMake语法学习笔记 - 亚特兰蒂斯 -,初步分析思路

关键词: