明斯克C ++会议CoreHard 2018春季论文


4月7日至8日,CoreHard社区在明斯克举行了第八届国际大会CoreHard Spring 2018,在明斯克举行,会议涉及C ++语言和相关的“硬核”技术。 来自白俄罗斯,俄罗斯,乌克兰,德国和荷兰的领先IT公司的发言人参加了会议。 他们谈论了他们在开发和测试中的经验。

现在,会议报告可在YouTube上免费获得,每个人都可以了解它们。 感谢会议的组织者。


叶夫根尼·奥克霍特尼科夫(Evgeny Okhotnikov)。 25年的C ++历史在我眼前飞逝



该报告的作者于1991年遇到了C ++,自1992年以来,C ++一直是该发言人的主要开发语言。 在这段时间内舌头出了什么事? 他如何以及为什么变得受欢迎? C ++开发中的停滞是如何开始的? C ++如何失去了流行性? 在现代世界中,C ++是否有空间? 基于25年的C ++编程经验,让我们尝试谈谈它。

谢尔盖·索洛任采夫(Sergey Solozhentsev)。 基于功能的游戏开发方法



让我们谈谈在第3场比赛中使用游戏对象的方法是如何改变的,以及我们如何使用当前的功能部件方法来创建可变的游戏对象。 与其他经过尝试和测试的方法(用于创建教程,多种模式以及代码检查)相比,它的优点是什么?

安德烈·亚基莫夫(Andrey Yakimov)。 使用C / C ++在Windows下捕获应用程序中的功能



让我们谈谈用各种语言和技术编写的应用程序中的函数挂钩。 该报告将考虑:基本概念,应用,各种拦截方法及其技术特征,现成的库。

安德烈·卡普申(Andrey Karpushin)。 使用Emscripten的Web的C ++



在报告中,作者讨论了他在Web上编译和使用C ++的实践经验,将C ++应用程序移植到Web上需要做些什么,与此相关的限制,关于C ++代码与JavaScript和其他Web元素的集成。页面。

瓦西里·内姆科夫(Vasily Nemkov)。 多币种钱包Multy的核心



3.5 MB的2兆字节区块链:如何,为什么和为什么。 开发跨平台区块链解决方案的功能。

亚历山大·马克维奇(Alexander Markevich)。 从C ++到Objective-C



在此报告中,作者讨论了Obj-C / C ++是现有C / C ++的扩展这一事实。 它还将考虑该语言的功能,讨论内存管理(保留/发行vs. ARC vs. shared_ptr / unique_ptr),关于Swift,以及为什么它比Obj-C / C ++更好或更糟。

米哈伊尔·马特罗索夫(Mikhail Matrosov)。 实践中的多方面C ++



在C ++中,有很多方法可以解决相同的问题。 我们将从作者的实践中找出真正的问题,并探索许多C ++工具来解决此问题:STL容器,boost.range,C ++ 20范围,协程。 我们将在解决方案的接口和性能方面进行比较,并且还将看到,如果代码正确组织,那么如何轻松地从另一个解决方案中获取一个解决方案。 在此过程中,我们看一下C ++ 17的功能:constexpr if,带有初始化程序的选择语句,std :: not_fn等。 将特别注意标准算法(我最喜欢的主题)。

帕维尔·贝利科夫(Pavel Belikov)。 数据流分析如何在静态代码分析器中工作



分析数据流(数据流)是一种用于分析程序源代码的技术,该技术广泛用于各种开发工具:编译器,lint,IDE。 我们将以静态分析器的开发为例来讨论它。 考虑一下数据流分析的分类和各种类型,相互补充的相关技术以及在其开发过程中出现的问题,以及当我们尝试进行分析时C ++给我们带来的惊喜。 在报告过程中,我们将分析使用该技术的实际项目中发现的一些错误。

亚历山大·扎伊采夫(Alexander Zaitsev)。 C ++代码分析工具



碰巧的是,有时您的应用程序开始长时间执行看似普通的任务并消耗大量RAM。 作为开发人员,您不知道为什么会这样(但是您很感兴趣)。 在讨论过程中,我们将讨论可以理解程序异常行为原因的工具。 如果您不害怕Valgrind,gprof,gperftools等字眼,欢迎使用!

亚历山大·乔普里纳(Alexander Chuprina)。 为基于docker的交叉编译设置环境



如何快速,轻松地设置/更新用于各种平台(基于docker)的交叉编译项目的环境,如何在它们之间快速切换,如何使用这些砖头组织CI和测试(基于GitLab和Docker)。

阿列克谢·特卡琴科(Alexey Tkachenko)。 C ++代码生成跨平台



该报告将在各种平台上(通用的x86 / x64平台以及不太受关注的平台:ARM,AVR)编译各种语言构造(简单和复杂)时,考虑代码生成。 对于完全异国情调的处理器(例如PowerPC甚至MicroBlaze),也将有示例。 主要重点将不放在数据处理上,而是将各种代码结构与目标平台的指令进行比较。

瓦迪姆·文尼克(Vadim Vinnik)。 加工收藏品:一种本质和多种表现形式



今天的编程被划分为许多彼此相距甚远的领域。 概念上统一的编程是否存在,这种统一基于什么? 这些问题和其他问题的答案由报告的作者给出。

尼古拉·乔苏蒂斯(Nicolai Josuttis)。 当心C ++ 17



细节在于魔鬼。 这也适用于C ++ 17。 我们获得了一些很酷的新功能,但同时也得到了一些新事物,需要我们记住和记住。 本讲座讨论了一些很酷的功能,这些功能可能会导致意外的结果。

讨论区


不要错过引发有关Rust和C ++语言讨论以及C ++标准化委员会成员问题的答案的各种主题的讨论。


Source: https://habr.com/ru/post/zh-CN414467/


All Articles