简体   繁体   English

c ++开发人员的开源项目?

[英]Open source project for c++ developer?

I am a vc++ developer (but like Qt) interested in learning from open source project by contributing and reading the code. 我是一名vc ++开发人员(但与Qt一样),他希望通过贡献和阅读代码来学习开源项目。 I use windows as primary development platform. 我使用windows作为主要开发平台。 Which project will be right for me to start? 哪个项目适合我开始?

Is chromium a good choice? 是一个不错的选择吗?

Is chromium a good choice? 铬是一个不错的选择吗?

I believe so, yes! 我相信是的,是的!

The source code is IMO very well written, it's a really active project with a lot of work to do and is also interesting in many different ways. 源代码是IMO编写得非常好,它是一个非常活跃的项目,需要做很多工作,并且在很多方面也很有趣。 Obviously a browser is in itself just a combination of specific libraries, and thus Chromium gives you a nice entry to learn more about them and hopefully contribute evidently. 显然,浏览器本身只是特定库的组合,因此Chromium为您提供了一个很好的入口,可以更好地了解它们,并希望显而易见。 But most importantly it has a big community, is sponsored by a big corporation and has many talented software engineers on its core team. 但最重要的是,它拥有一个庞大的社区,由一家大公司赞助,并在其核心团队中拥有许多才华横溢的软件工程师。

There are so many things to do, so you could even contribute things you know while learning stuff you don't. 有很多事情要做,所以你甚至可以在学习你不知道的东西的同时贡献你所知道的东西。


I'd like to add; 我想补充一下; The choice of an open source project to join should be based on: 要加入的开源项目的选择应基于:

  1. Your level of expertize 你的专业水平
    • What you'd like to learn 你想学什么
    • Quality of the code 代码质量
    • Maturity of the project 项目成熟度
    • Code complexity (not to be confused with readability) 代码复杂性(不要与可读性混淆)

I only speak for myself here, but as much as I love learning more from too complex projects (file systems, RDBM etc) I find those projects to be less rewarding because of the overwhelming complexity. 我只是在这里为自己说话,但我喜欢从过于复杂的项目(文件系统,RDBM等)中学到更多东西,我发现这些项目由于压倒性的复杂性而不那么有价值。 Try not to learn everything at once, take smaller steps and finish what you start rather than taking larger steps and give up. 尽量不要一次学习所有内容,采取较小的步骤并完成你的开始而不是采取更大的步骤并放弃。

Just my 2c - YMMV 只是我的2c - YMMV


In case you'd want to try Chromium out, here are links for the design documents: 如果你想尝试Chromium,这里有设计文件的链接:

The links above are all taken from the Chromium developer documentation , where even more details can be found. 上面的链接都来自Chromium开发人员文档 ,其中可以找到更多详细信息。

Anyway, good luck finding a project that fits your needs! 无论如何,祝你找到符合你需求的项目!

参与Qt Creator项目。

KDE has plenty of code in C++/Qt. KDE在C ++ / Qt中有很多代码。 It is a huge example of open source community... their SVN repository will soon have 7-digit commit numbers ( http://websvn.kde.org/ ). 这是一个开源社区的一个很好的例子......他们的SVN存储库很快将有7位数的提交号码( http://websvn.kde.org/ )。

Google has a lot of open-source C++ projects. 谷歌有很多开源的C ++项目。 Specifically, perftools (replacement malloc, heap/CPU profiler) is in need of considerable Windows and x64 expertise. 具体来说,perftools(替换malloc,堆/ CPU分析器)需要相当多的Windows和x64专业知识。

http://code.google.com/hosting/projects.html http://code.google.com/hosting/projects.html

Well I think there is a lot of interesting opensource projects using c++. 我认为有很多有趣的开源项目使用c ++。 Boost is the first project one can think about. Boost是第一个可以考虑的项目。 It is a library, but very well written, so you will learn a lot. 这是一个图书馆,但写得很好,所以你会学到很多东西。 If you want something more fun you can try something like a game engine like Ogre3D. 如果你想要更有趣的东西,你可以尝试像Ogre3D这样的游戏引擎。 If you want to participate in a project with Qt bindings, I suggest projects related to KDE as they mainly use Qt, AFAIK. 如果你想参与一个带有Qt绑定的项目,我建议与KDE相关的项目,因为他们主要使用Qt,AFAIK。

Boost 促进

Ogre3D OGRE3D

how about webkit about Web browser engine open source project? webkit关于Web浏览器引擎开源项目怎么样?
I hope it helps. 我希望它有所帮助。

Launchy Launchy

from the project page introduction 从项目页面介绍

Launchy is a free windows and linux utility designed to help you forget about your start menu, the icons on your desktop, and even your file manager. Launchy是一个免费的Windows和Linux实用程序,旨在帮助您忘记开始菜单,桌面上的图标,甚至文件管理器。

Launchy indexes the programs in your start menu and can launch your documents, project files, folders, and bookmarks with just a few keystrokes! Launchy为您的开始菜单中的程序编制索引,只需几次按键即可启动文档,项目文件,文件夹和书签!

They also have a plugin interface so you could start with writing a plugin before getting into working on the actual code. 它们还有一个插件接口,因此您可以在开始处理实际代码之前先编写插件。

参加Qt比赛,如: Pimp My WidgetsQtCentre编程比赛

I enjoyed working on Code::Blocks . 我很喜欢Code :: Blocks It's not a trivial project, but you should still be able to wrap your head around it to contribute. 这不是一个微不足道的项目,但你仍然应该能够围绕它做出贡献。 :) :)

The most important thing is work on something you want to work on . 最重要的是处理你想要处理的事情

wxWidgets is better for c++ developers who has knowledge about MFC and Windows. 对于熟悉MFC和Windows的c ++开发人员来说, wxWidgets更好。 Qt uses MOC compilers to generate c++ code. Qt使用MOC编译器生成c ++代码。 In wxWidgets you have full control of your code. 在wxWidgets中,您可以完全控制代码。

You could try and help with the KDE port to Windows. 您可以尝试帮助Windows的KDE端口。 KDE is a desktop environment which was traditionally at home on Linux/Unix systems, but now has (native) ports to Windows and MacOS X. KDE是一个桌面环境,传统上是在Linux / Unix系统上的家中,但现在具有Windows和MacOS X的(本机)端口。

You could help make those applications perform and integrate better with Windows. 您可以帮助使这些应用程序更好地与Windows集成。 Working on certain apps would be highly appreciated (eg Amarok - an advanced music player, digiKam - an advanced digital photo management application) as they would be good open source options to Windows users. 对某些应用程序的工作将受到高度赞赏(例如Amarok - 一种先进的音乐播放器,digiKam - 一种先进的数码照片管理应用程序),因为它们对Windows用户来说是一个很好的开源选项。

You can get a good overview on how to participate on the KDE for Windows TechBase article . 您可以很好地了解如何参与KDE for Windows TechBase文章

Anyway, good luck choosing ;-) 无论如何,祝你好运选择;-)

I don't think anyone here can really answer the question "Which project will be right for me to start?" 我认为这里的任何人都不能真正回答“哪个项目适合我开始?”的问题。 as no one here really knows who you are. 因为这里没有人真正知道你是谁。 Programming is an absolutely HUGE area, you can do low level systems code (ie drivers & OSs), databasing, web browsers, games, word processing, and the list goes on. 编程是一个绝对巨大的领域,你可以做低级系统代码(即驱动程序和操作系统),数据库,网络浏览器,游戏,文字处理,并列表继续。

What you should do, is find something you would like to work on, and start playing around with the code. 你应该做的是找到你想要做的事情,然后开始玩代码。 Try out several different projects in that area and see what you can understand, contribute to and learn from (its also a good way of seeing a variety of some of the programming paradigms out there). 尝试在该领域的几个不同的项目,看看你能理解,贡献和学习的东西(它也是一种看到各种编程范例的好方法)。 Also, if you are trying to learn from this as well, you should check out how much help and communication between the members of the project there are and how much they seem to be willing to help one another (and if there is almost no communication, i'd worry about the project surviving much longer anyway). 此外,如果你也试图从中学习,你应该检查项目成员之间有多少帮助和沟通,以及他们似乎愿意互相帮助多少(如果几乎没有沟通的话) ,我担心这个项目能够存活更长时间。)

Before reading the actual question, Chromium was my first thought. 在阅读实际问题之前,Chromium是我的第一个想法。 I definitely think it's worth it. 我绝对认为这是值得的。

If you are into gaming, try the Half Life 2.2 Full SDK. 如果您正在玩游戏,请尝试使用Half Life 2.2 Full SDK。 Its free and you can make your own mods. 它是免费的,你可以自己制作mod。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM