于C++程序员来说,业余时间你们都喜欢访问哪些网站?
实际上,在大多数的论坛对于初学的我们来说都是“开坛有益”的。只不过有的网站和论坛针对性较强,不适合C++程序员,如ITeye。而另有一些网站相对内部资源较为匮乏。
这里悟空给大家几个比较实用的网站,希望能对大家有所帮助
1. 开源中国社区:http://www.oschina.net/
首屈一指的自应当数开源中国社区,非常成熟的国内开源网站。
成立于2008年8月,其目的是为中国的IT技术人员提供一个全面的、快捷更新的用来检索开源软件以及交流使用开源经验的平台,目前开源中国社区已收录超过两万多款开源软件。经过不断的改进,目前开源中国社区已经形成了由开源软件库、代码分享、资讯、讨论区和博客等几大频道内容。
涉及全部主流的编程语言。并且支持大量开源项目下载,代码分享。开发工具安装,插件安装等等。也可在论坛内获取职位信息,实习岗位信息等。
2. CSDN: http://www.csdn.net/
提起论坛,就不能不提CSDN。国内较早的知名IT技术论坛。
CSDN (ChineseSoftware Developer Network) 创立于1999年,是中国最大的IT社区和服务平台,为中国的软件开发者和IT从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。拥有超过3000万注册会员(其中活跃会员800万)、50万注册企业及合作伙伴。
网站提供大量的系统、安全、数据库相关技术文档和资源的下载。各类小案例、项目的源码下载。也可丛中阅读大量的研发工程师技术心得。提高开发效率和素养。
这里要推荐下小编的c++学习群: 553014383,邀请码:悟空 不管你是小白还是大牛,小编我都欢迎,不定期分享干货,欢迎初学和进阶中的小伙伴。
3. 51CTO: http://www.51cto.com/
同样,也不能落下的51cto。
51cto是专注于IT技术创新与发展的互联网媒体机构,由一批资深互联网专业人士创立于2005年。自建立之日起,51CTO就以“专注IT技术领域,打造中国领先的IT技术网络平台”为宗旨,致力于面向中国广大IT专业人群,实现高效传播交流,持续提升技术及管理水准,促进中国信息化建设及应用健康快速发展。
4. 中国IT实验室: http://www.chinaitlab.com/
涵盖面很广的一个“超级实验室”。你几乎可以从中找到所需要的任何IT知识。
中国IT实验室——中国最早最大的IT专家门户,2004年进入“中国商业网站100强”,2006年主办《深圳互联网英雄大会》,七年耕耘,海内外受众用户超过2000万,注册用户200多万,拥有中国最具人气的技术社区,伴随着国内第一批网络专家、软件专家的成长。
5. C++技术网: http://www.cjjjs.com/index.aspx
C++技术网,虽说不是很大,但针对性较强。
国内较新成立的的C++技术网站,主要涉及C、C++编程语言。Windows、Linux、Unix操作系统。常用框架介绍,如STL、QT、MFC等。可从中学习项目开发相关经验,下载资源,求职等。
6. Linux开源中文社区:https://linux.cn/
学习Linux的话,可以多逛逛Linux开源中文社区。
Linux中国是一家创立于2003年的国内开源社区,主要关注方向在 Linux 推广、Linux技术研究、Linux 业界事件的传播。Linux 中国包括网站、微博、微信和邮件列表等平台。
7.W3 school:http://www.w3school.com.cn/
另外,W3 school 也是非常不错的一个自学网站。
在Web应用日趋成熟,日渐火爆的当下,C++程序员也不免俗套的要适当的充电。W3 school涵盖领先的 Web 技术教程,并且全部免费。在 w3school,你可以找到你所需要的所有的网站建设教程。从基础的 HTML 到 CSS,乃至进阶的XML、SQL、JS、PHP 和 ASP.NET应有尽有。学起来怎的一个爽字了得。
爱的BCGSoft用户,我们非常高兴地宣布BCGControlBar Professional for MFC和BCGSuite for MFC v30.4正式发布!此版本包含适用于Visual Studio 2017-2019的新应用程序向导,Ribbon后台视图位于底部项目、新的图表类型Polar Bar、改进的甘特图以及其他新的功能和改进。
点击“了解更多”获取【BCG下载】
v30.4引入了适用于Visual Studio 2017和Visual Studio 2019的新应用程序向导,该向导极大地简化了基于BCGControlBar的新应用程序的创建,您可以在几秒内创建Visual Studio、Office或类似Explorer的应用程序。如果出于某种原因您更喜欢使用经典(基于HTML)的应用程序向导,则可以在Integration Wizard设置中指定此选项。
1. BCGPBaseRibbonElement:新方法IsOnActiveFrame告知ribbon控件是否位于活动(聚焦)的框架上。
2. CBCGPBaseRibbonElement:新方法IsOnZoomedFrame告诉ribbon控件是否位于最大化(缩放)帧上。
3. CBCGPRibbonSlider:添加对"Zoom In" ("+") / "Zoom Out" ("-") 按钮工具提示的支持,方法CBCGPRibbonSlider :: SetZoomButtons具有2个新的可选参数'lpszZoomInTooltip'和'lpszZoomOutTooltip'。
4. 改进对键盘导航的支持:通过单击鼠标激活的edit box / combo box控件中的Tab键实现了导航。
5. CBCGPRibbonPaletteButton(功能区库):改进对高DPI的支持。
6. Ribbon后台视图:添加对位于左侧窗格底部的命令/视图的支持,方法CBCGPRibbonBackstageViewPanel :: AddCommand,CBCGPRibbonBackstageViewPanel :: AddView,CBCGPRibbonBackstageViewPanel :: AddPrintPreview和CBCGPRibbonBackstageViewPanel :: AddRecentView具有新的可选参数'bAddToBottom'(默认值为FALSE)。
7. CBCGPRibbonCaptionCustomButton:新的虚拟方法OnDrawContent提供了自定义功能区标题按钮外观的简便方法。
8. Ribbon Designer:新增对滑块缩放按钮工具提示的支持和后台视图底部项目。
1. 简化图表文本标签自定义过程:将新方法OnFormatDataPointLabelText和OnFormatDataPointTableText添加到CBCGPChartVisualObject类。
2. 图表数据表:改进表格单元水平滚动(缩放/平移模式)。
3. 添加置顶缩略图选项的新标志:
4. 添加一种新型的极坐标图-极坐标条形图,条形图的范围(宽度)使用Y1分量以度为单位设置,极坐标图的类型可以使用CBCGPChartPolarSeries:SetPolarType(PolarSeriesType type,BOOL bRedraw = TRUE)方法指定,其中类型可以是PST_NORMAL或PST_BAR。
5. 极坐标图和雷达图:改进图的布局,现在更优化地使用了图表空间。
6. 金字塔和漏斗图:改进了图表元素(例如数据点)的命中测试。
头条创作挑战赛#
这几天在论坛看到一个有趣的问题:新人入职公司做C++开发,发现公司用的界面GUI还是微软古老的MFC框架,想问大家MFC是不是已经过时了?是否还有深入学习的必要? 其实,个人觉得在讨论这个问题之前还有一个更宽泛的问题:C++语言本身是否适合做GUI界面?
MFC
先说结论:根据多数开发C++的人来说,单纯做界面GUI的话,C++本身其实并不太适合写GUI。因为C++本身不具备反射和自省,类体系结构非常的静态,且抽象能力有限,而界面GUI本身是个相当动态的东西,所以最基础的C++并不适合用来写GUI,硬写的话最后的程序会非常的冗长和啰唆的。
C++
所以聪明的GUI库通常会用一些技巧绕过这个问题:
严格意义上讲,后两种手段都属于DSL方法,所以已经不能算是纯粹的C++开发GUI了。其实最适合写native GUI的语言是Objective-C语言,即便抛弃Cocoa库来讲,单纯的论语言能力也是如此,可惜的是它针对IOS系统,并不能支持跨平台。
图形用户界面(Graphical User Interface,简称 GUI),下面介绍一下C++常用的GUI开发框架:
(1) QT
Qt 是Qt Company开发的跨平台C++图形用户界面应用程序开发框架,目前使用很广泛;
支持平台:Windows、Linux、MacOS等等;
网址:https://www.qt.io;
Qt
(2) MFC
Windows下的GUI库,使用比较广泛;
支持平台:Windows;
网址:https://www.microsoft.com/zh-cn/;
MFC
(3) wxWidgets
wxWidgets是一个C ++库,开发人员可以使用它为Windows,Linux,MacOS和其他平台创建应用程序;
支持平台:Windows、Linux、MacOS;
网址:https://wxwidgets.org
wxWidgets
(4) gtkmm
gtkmm 是流行的图形界面库 GTK+的官方 C++ 接口;
支持平台:Windows、Linux、MacOS;
网址:https://www.gtkmm.org;
gtkmm
其他界面库还有:
imgui (https://github.com/ocornut/imgui)
duilib (https://github.com/duilib/duilib)
xcgui (http://www.xcgui.com/)
GuiLite (https://gitee.com/idea4good/GuiLite)
至于为什么这么多流行的GUI库都用C++实现,很多原因不是在语言本身的能力上,几个可能的原因是:
1)GUI是个基础构件,用C/C++这种较基础和非常流行的语言来实现的话,可以让这个库被更多的其它语言所使用。
2)原生性。很多实际应用需求可能不允许类似C#语言这种附带一个编译运行时的东西,或者带一个臃肿的Webkit,尤其对互联网客户端来讲,需要发布的东西越小越轻量越好,所以这些公司的客户端基本上都是自己造一个轻量级的DirectUI,只满足自己的需求即可,而不用考虑推广性和普遍性。
3)保留了在性能和抽象之间做权衡的能力。如果采用了HTML/CSS/JS,那么当你需要高性能实时渲染时,可能无法实现。做为一个库来讲的话,用户的应用场景千变万化,必须要为这些可能性保留相关的能力。
总得来说用C++写GUI需要付出更多的努力,但回报也更高,前提是有一个或轮一个靠谱的DSL。事实上HTML/CSS/JS也可以看作是一个DSL,运行在C++写成的解释器(浏览器)上。
Microsoft Foundation Classes,是微软公司提供的类库,以 C++类的形式封装了Windows API,也是一个应用程序框架,用以减少应用程序开发人员的工作量。但令人遗憾的是MFC 在很多年前就已经停止更新了,微软官方现在也是在主推自家的 .net 技术,虽然 MFC 也被保留了下来,但更多的是为了一些旧的产品的维护开发使用,比如一些大公司的老旧产品是用MFC开发的,多年积累下来,想换一种框架重写的话,可能工作量无法估计,另外很可能会出现大量未知的bug,因此仍旧采用当下的MFC来维护不失为一种最稳妥的方式。
单纯做界面的话,那么最适合的可能是HTML/CSS/JS,理论上来讲它是把结构描述(HTML)、样式描述(CSS)和动态计算(JS)划分的最好的,并且高度标准化。假如你的GUI程序中不存在高性能实时渲染的话(如毫秒级更新的图表、或嵌入OpenGL/D3D窗口),那么配合前端之类的MVC库,软件操作手感和响应几乎可以达到和native程序一样,并且写起来比C++轻松和简洁很多,并且界面的美观性也可以得到保证。
对于不那么追求软件包大小以及运行效率要求非顶尖的软件,其实目前比较流行的是C++混合开发,大体就是利用html+js来编写界面,然后利用控件方式嵌入C++中,后台的程序处理用C++来实现,这样也能保证客户端和web端的界面统一性,例如Qt提供的QWebengine控件,或者自己编译谷歌浏览器内核CEF,然后与Qt结合成QCefView使用,这是目前个人了解的较为流行的混合开发方式。
*请认真填写需求信息,我们会在24小时内与您取得联系。