未找到

未发布 视频处理软件BB FlashBack v5.25.0发布丨附下载
by Harriet666 keys 分享 1497515629872
BB FlashBack是一种屏幕记录器,能快速容易地创建视频。有详尽的软件阐述、屏幕演示、介绍、指南以及练习。目前BB FlashBack在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用!
 
【BB FlashBack v5.25最新版下载>>>】

v5.25.0更新内容:

  • 改进网络摄像头捕获代码(现在使用MSMF)
  • 许可证现在只有在FlashBack的多个实例运行时才下载一次
  • 播放器仅适用于具有8GB和更高RAM的电脑
  • 增加了用于音量控制的工具提示
  • 添加了关闭/开启播放器预加载预览录像的选项
  • 修复:Flashback连接上传表单 - 视频名称可能会重叠“复制”和“打开”链接
  • 修复:如果网络摄像头未正确初始化,录制可能会停止
  • 修复:无法选择包含日语字符的声源名称进行录制
  • 修复:MPEG录制模式质量等级设置未保存
  • 修复:FBAPI的帮助文本出现错误,它仅适用于TestAssistant
  • 修复:在Win 32 SaveAs函数中添加了解决异常的方法
  • 修复:当没有音频录音源时,可能会显示不正确的音频格式

试用、下载、了解更多产品信息请点击"咨询在线客服"   

未发布 2017年8个最流行的Web编程趋势
by Harriet666 keys 分享 1500361642329
互联网一直在不断的发展,这意味着开发人员必须及时了解当前的所有变化。人们在新闻、社交、购物到银行等各大方面都与互联网有着千丝万缕的联系。因此,为了满足全球数百万网络用户的需求,Web开发需求正在上升。Web编程趋势是在W开发的过程中不断变化,不断创新,并逐步淘汰已经过时的想法。以下是2017年你可能会看到的一些当前的Web编程趋势:

1. 360度视频

视频曾一度统治互联网,它能确保那些在线的人参与互动,并吸引受众停留更长的时间。随着网页上视频的观看次数显着增加,从长远来看,也可以带来更多的转化。

360 Degree Video
 

2. Ruby on Rails

这是一个越来越多开发人员喜欢使用的集合。通过它,你可以创建单页应用程序,而不需要依赖于java中的框架。此外,该集合可以确保使用它的人做到最好。
Ruby on Rails
 

3. Motion UI

这一直是一个趋势。开发人员正在使用Motion UI创建具有生命力的网站,并且还会对登录到其中的每个用户做出反应。这是出现在你屏幕上的特殊效果。
Motion UI
 

4. 材料设计

材料设计基本上是Google的一种哲学,它定义了应用程序在无线设备上的外观和性能。使用它可以更改所有类型,包括网站的风格和动画在布局中显示的方式。在视觉上,它正在成为开发人员的关键工具。
Material Designs
 

5. 静态网站生成器

当你正在寻找创建在服务器上运行的网站时,你应该考虑这一点。这是一个趋势,因为它是创建网站的绝佳方式。创建的文件大大简化了,因为它们存储在除数据库之外的文件中。其拥有流量、安全性、速度和易于操作等优点。加载网站更容易、更安全。
Static Website Generators
 

6. 单页面网站

浏览多个标签、以及链接到更多页面的网页已经是过去式了。现在用户正在选择单页面的网站、博客等类型。他们使用更方便,特别是在人们在旅途中的移动设备上。
Single Page Websites
 

7. Angular 2 

Angular 2带来了很多转变,例如Google的JavaScript框架,这是完全重新设计的。它的好处是它利用了JavaScript ES6中的功能。这意味着未来的Web开发将变得更容易和有效。
Angular 2 and Beyond
 

8. 虚拟现实

这是未来Web开发中一个重要的趋势,特别是在游戏行业。它开始于Vive和Oculus Rift的到来,为游戏世界带来了巨大的可能性。像Google和Mozilla这样的全球性公司带来的API将有助于虚拟现实的转型。
Virtual Reality
Web开发人员必须了解Web编程的最新趋势,以便设计符合这些趋势的网站以及增加用户体验的网站。随着互联网的快速发展,这些趋势也会随之而变。因此,随时了解行业趋势是非常有用的。
未发布 MailBee.NET Objects发送电子邮件(SMTP)教程一:使用SMTP服务器发送消息
by Harriet666 keys 分享 1493280142680
MailBee.NET Objects介绍和试用点击查看>>>
 
Smtp对象提供了多种方法和属性来调整优化发送消息的过程。可以创建一个新的Smtp对象实例,如下所示:
C#:

Smtp mailer = new Smtp();

VB.NET:

Dim mailer As New Smtp()
 
如果SMTP服务器不需要任何身份验证,那么指定的主机名或它的IP地址就足以连接到此SMTP服务器。
C#:

mailer.SmtpServers.Add("mail.domain.com");

VB.NET:

mailer.SmtpServers.Add("mail.domain.com")
 
然而,大多数服务器现在要求用户对自己进行身份验证(例如,如果要通过此服务器将电子邮件发送给外部收件人,则必须拥有有效的帐户)。要指定你的帐户凭据,请使用以下代码:
C#:
mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret");

VB.NET:

mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret")
 
根据服务器设置,你可能需要输入整个电子邮件地址,而不仅仅是一个帐户名称(例如,在某些情况下为jdoe@domain.com或domain.com \ jdoe)。
某些SMTP服务器要求客户端进行身份验证,但不支持任何SMTP命令。这些服务器依赖于同一个客户端的最近POP3连接的认证结果(即相同的IP地址)。因为POP3和SMTP服务器通常共享相同的用户帐户数据库。
在发送消息之前,你应该确定内容。例如:
C#:

mailer.Message.From.AsString = "jdoe@domain.com";

mailer.Message.To.AsString = "bill@domain.com";

mailer.Message.Subject = "Hi";

mailer.Message.BodyPlainText = "Hello Bill";


mailer.Message.From.AsString = "John Doe ";

mailer.Message.To.AsString = "Bill  (Company Inc), Kathy ";

mailer.Message.Subject = "The document";

mailer.Message.BodyHtmlText = "The document body";


mailer.Message.From.Email = "jdoe@domain.com";

mailer.Message.From.DisplayName = "John Doe";

mailer.Message.To.AsString = "Kathy ";

mailer.Message.Cc.Add("bill@domain.com", "Bill Smith");

mailer.Message.Subject = "News";

mailer.Message.BodyPlainText = "News body";
 
VB.NET:

mailer.Message.From.AsString = "jdoe@domain.com"

mailer.Message.To.AsString = "bill@domain.com"

mailer.Message.Subject = "Hi"

mailer.Message.BodyPlainText = "Hello Bill"



mailer.Message.From.AsString = "John Doe "

mailer.Message.To.AsString = "Bill  (Company Inc), Kathy "

mailer.Message.Subject = "The document"

mailer.Message.BodyHtmlText = "The document body"



mailer.Message.From.Email = "jdoe@domain.com"

mailer.Message.From.DisplayName = "John Doe"

mailer.Message.To.AsString = "Kathy "

mailer.Message.Cc.Add("bill@domain.com", "Bill Smith")

mailer.Message.Subject = "News"

mailer.Message.BodyPlainText = "News body"
 
内容完成后,你就可以点击发送了。
C#:

mailer.Send();

VB.NET:

mailer.Send()
未发布 案例实战:LightningChart集成Dynamotive汽车遥测软件|见证真正无与伦比的性能
by Harriet666 keys 分享 1499757923509
Dynamotive

案例研究日期:2017年3月

经营行业:汽车工程

成立:1998

网站:new.abb.com/uk

LightningChart解决方案:Various


高性能的控制系统

Dynamotive是ABB集团的一员,是一个主要部署在汽车行业的高性能实时控制系统的高档品牌供应商。Dynamotive为主要汽车制造商及其遍布欧洲、美国和亚洲的供应商提供测试设备和工具软件。

LightningChart®提供真正无与伦比的性能

“Dynamotive在对众多的选择进行鉴定后选择了LightningChart。没有任何一种替代方案能够做到在性能方面如此接近完美。”

——软件开发经理安德鲁·普尔(Andrew Poole)

Dynamotive使用LightningChart从控制系统实时提供数据。他们在LightningChart周围建立了一个解决方案,可以同时并且持续地以多个采样率显示和记录数据。采样率从1Hz到50 kHz不等,屏幕刷新率可以调节高达50 Hz,为用户提供了关于控制过程决策所需的信息。

当被问及LightningChart的最佳优势时,Poole先生给出答复:“LightningChart的最佳功能是性能,性能和性能。”


示例:表示运行节气门循环的图像

快速和容易实现

LightningChart给予Dynamotive的主要优点是使他们能够快速开发可靠和高性能的实时数据。“除了使用LightningChart为我们的控制系统实现高性能实时数据趋势,我们可以在两周内构建一个驱动程序辅助应用程序(使车辆的驾驶员能够遵循道路简档),早期的实施需要几个月 需要尝试并获得体面的图形性能,但与LightningChart的优异性能是给定的。”软件开发经理Poole如是介绍。

Dynamotive团队并没有真的必须使用技术支持。 安德鲁·普尔(Andrew Poole):“我们是LightningChart的早期使用者,当时有一些来自Arction创始人的电子邮件让我们犹豫了,但之后,我们需要做的大部分工作都很容易实现,这是因为拥有了直接和结构合理的API。”

观看视频,了解LightningChart如何整合到Dynamotive开发的汽车遥测软件中:

LightningChartDynamotive

未发布 界面控件Essential Studio for ASP.NET Web Forms 发布2017 v4丨附下载
by Harriet666 keys 分享 1514452996209
Essential Studio for ASP.NET Web Forms界面控件包含了商业Web应用程序开发中所需的所有控件,如grids、charts、gauges、menus、calendars、editors等等。同时,Essential Studio for ASP.NET中高性能的界面控件库还允许您的应用程序浏览和创建Excel、Word和PDF格式的文件。
 
 
2017 v4更新内容

组合框

新的控件
组合框组件允许用户输入一个值或从预定义选项列表中选择一个选项。单击此组件的箭头图标时,下拉列表将显示用户可以从中选择的值列表。
主要特征
  • 数据绑定:允许绑定和访问本地或服务器端数据源的项目列表。
  • 分组:支持将单个或特定类别下的逻辑相关项目进行分组。
  • 排序:支持按字母顺序(升序或降序)排序列表项。
  • 过滤:允许根据组件中输入的字符过滤列表项目。
  • 模板:允许自定义列表项目、选定的值、页眉、页脚、类别组页眉。
  • 可访问性:内置的可访问性支持有助于通过键盘、屏幕阅读器或其他辅助技术设备访问所有组件的功能。
50f0dfe329314659b35585bef763125aojpg
 

拼写检查器

新的控件
新的拼写检查器控件通过将它们与存储的字典单词列表进行比较,查找并突出显示拼写错误的单词。
主要特征
  • 突出显示拼写错误的单词。
  • 忽略字母数字,混合大小写、大写字母以及URL链接。
  • 使用用户定制的字典忽略特定的单词集合。
  • 根据用户指定的计数显示所有可能的建议。
  • 在手机、平板电脑和桌面上呈现最佳用户界面。
  • 评估一个或多个HTML元素,例如div、span、textarea和input元素。
1a5202190c7d43cab2f94101443f3330ojpg
 

AUTOCOMPLETE

搜索索引多栏弹出
现在可以区分多列AUTOCOMPLETE控件中的显示格式和搜索字段,允许用户在列表中搜索任意数量的字段,而无需修改所选的文本格式。
4f2b5b85be604f27812212e8c4acbce9ojpg
 

CHART

轴标签
支持显示多行轴标签。
8dc88589a08b4e80ac4a8da1c4cbfc5aojpg
显示外部数据标签
现在可以在图表区域内显示部分可见的数据标签。
0d7f4c196d3643899c3936457a72514eojpg
 

数据管理器

防伪
防伪令牌可用于帮助保护应用程序免受跨站请求伪造。它生成一个隐藏的表单字段(防伪造标记),在提交表单时进行验证。
 
额外的数据操作
提供了IN和NotIN过滤器操作用于在WHERE过滤器中指定多个值。
 

DIAGRAM

对齐
支持定制用户手柄的位置。
f055fce651354ce4a57596a6b0e73be9ojpg

端口增强
现在可以拖动端口来重新定位端口。
ee574146efe141cb87085be9eeb805a8ojpg

对称布局
对称布局是用于以圆形和对称方式排列图的自动布局。
b1d38a264ed84e3c8989600ca9d2282aojpg

标签交互
已经为标签提供了交互支持。他们可以被选中、拖动、调整大小和旋转。
1a070f6acae243a0b44cbe3e52e63b26ojpg
 

DOCIO

增强Word转换成PDF功能
DocIO现在允许将带有行号的Word文档以其原始格式转换为PDF。
8276b7a2b76b4c33b1ea29b504529df1ojpg
 

下拉列表

服务器过滤
在搜索框中输入文本时,此功能将过滤数据源。过滤是基于包含来自整个数据源的匹配项。

服务器过滤:远程数据
7290a4ed85f5414092b5ffc6b5592be0ojpg
服务器过滤:本地数据
063418725cd943e095e9a214b0a298b5ojpg
 

文件管理器

支持鼠标选择
支持在文件资源管理器控件中使用鼠标管理文件/文件夹。
7474361de99a49eeaa1816bba15045c4ojpg
 

甘特图

资源分配视图
甘特图控件支持资源分配视图。使用该视图,用户可以解释在同一日期发生的任务以及项目中资源的过度分配。
e03eddc73e384808b5ef566661126f27ojpg

排序
现在可以根据行顺序显示具有序列号的任务。
c492f9a9ddc444a897c938b52fb98ce6ojpg

多行选择
现在可以选择多行并执行缩进和负缩进操作。
e55c93b9f1e14c648dd77f38739e3fbfojpg

列过滤
现在可以过滤甘特图控件中的特定字段或列。
 
展开/折叠记录
甘特图控制现在支持扩展和折叠特定级别的记录。
 

表格

在Excel过滤器菜单中添加当前选项进行过滤
在搜索时显示添加当前选择到过滤器复选框,允许用户在表格中添加当前选中或清除的复选框列表数据以及已经过滤的数据。
7da249a2147a4d6e8e8e241538547bbaojpg

导出模板列
使用Excel、PDF和Word文件格式导出包含模板列的表格。
b856b7ddac504f908af14c834ca13c7eojpg
 
导出详细信息模板
导出使用Excel、PDF和Word文件格式的详细信息模板。
3a3fa2c17ed5461f90769d59663aa37dojpg
 

KANBAN

外部拖放
KANBAN控件现在支持与其他控件之间的拖放操作。
30ac11d56e2242cc9c8cd65fca7b2c22ojpg

没有数据源的KANBAN列
KANBAN列可以在不绑定数据源的情况下显示。
77fb04f854794636be3f1b908f2c2151ojpg
 

PIVOT客户端

支持Mondrian服务器(客户端模式)
分页将大记录拆分为不同的段,便于查看数据。它还改善了连接到Mondrian服务器的PIVOT控件的性能。
d6beed2fc8054c29ad4fe5754b567316ojpg


PIVOT网格

支持Mondrian服务器(客户端模式)
分页将大记录拆分为不同的段,便于查看数据。它还改善了连接到Mondrian服务器的PIVOT控件的性能。
 

RIBBON

设计器
改进了ASP.NET Web Forms中功能区组件的设计器。
283b5b2521c44c829d49c0cb41ec3f3aojpg
 

滑块

添加按钮
添加了一个可以隐藏的按钮,允许增加和减少滑块的值。
2535a882223f4ba794e19c116e0f858cojpg
 

ESSENTIAL XLSIO

图表转换为图像
图表元素(如图例,标题,绘图区和显示单元)的手动布局位置现在可以正确转换为图像。
552e85ea9f5d41cf8e74683354b6e348ojpg
未发布 Microsoft推出适用于Win 8.1和Win10的KB 4010250 Flash Player更新
by Harriet666 keys 分享 1487750909211

Microsoft发布了安全公告MS 17-005,它为各种版本的Windows提供了一些补丁。这些补丁(全部称为KB 4010250)启动Adobe APSB17-04中的Flash Player修复程序,修复了13个关键漏洞。微软用了一个星期的时间来修复漏洞。

这些补丁现在可以通过Windows Update在设备上运行:

  • Windows 8.1,RT 8.1和运行Internet Explorer 11的Server 2012 R2

  • Internet Explorer 10的Server 2012

  • 所有版本的Windows 10 - RTM(1507),1511,1607和Server 2016

【Microsoft Office 365 系列下载>>>】

Microsoft Office 365 商业版下载

Microsoft Office 365 商业协作版下载

Microsoft Office 365 商业高级版下载

未发布 VCL图表控件包TMS Grid Pack v6.7.2.2发布丨附下载
by Harriet666 keys 分享 1507541171337
TMS Grid Pack是一款功能齐全的VCL图表控件包,包含TAdvStringGrid、TAdvColumnGrid、TAdvSpreadGrid、TAdvGridExcelIO、TAdvGridRTFIO、TAdvGridPDFIO和TDBAdvGrid多个控件于一体,能帮助用户节省大量的开发时间和费用。

TMS Grid Pack最新版点击下载>>>
 
v6.7.2.2

改进:
  • TDBAdvGrid中支持没有内置书签的数据集
修复:
  • TAdvStringGrid中当grid.FixedRows <> 1时选择所有调用
 
v6.7.2.1

改进:
  • TAdvColumnGrid中窗体构造函数中的样式更新
  • TAdvStringGrid中对嵌入单元格中的进度条进行高DPI处理
修复:
  • 分组的TDBAdvGrid中通过列行访问单元格的问题
  • TAdvStringGrid中edEditBtn在线编辑器按钮点击和隐藏选项的问题
  • TAdvGridPDFIO中单行网格的问题
  • TAdvStringGrid中鼠标滚轮的问题
  • TAdvStringGrid中单列网格索引排序的问题
  • TDBAdvGrid中的剪贴板复制的问题

【慧都十四周年庆预热开启!全场满额送七级豪礼,AppleMac笔记本电脑、iwatch、iPad等您来拿!】

活动时间:10月1日-10月30日

未发布 矢量图形引擎库VectorDraw Developer Framework 更新至v7.7011.0.4
by Harriet666 keys 分享 1494227369959

VectorDraw Developer Framework

VectorDraw Developer Framework(VDF)是一款构建2D、3D图形并用于应用程序可视化的矢量图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。

VectorDraw Developer Framework点击下载>>>

VectorDraw Developer Framework(VDF)v7.7011.0.4更新内容点击查看>>>


未发布 轻松审计代码安全性,Windows 10有妙招
by Harriet666 keys 分享 1503998911618
如果你是软件开发人员,又希望自己开发的软件安全性高一点,那么当前的Windows 10企业内部预览版(10.0.16253)中就有一个功能可以做到。
 
它的位置在“设置 – > Windows Defender – > Windows Defender安全中心 – >应用程序和浏览器控制 – >漏洞保护设置”中,你可以为整个系统或特定程序启用自定义漏洞利用设置。其中有很多不同的保护特性并且许多都可以在审计模式下打开。在审计模式下,它不是在出现情况时终止进程,而是将事件写入事件日志。对于管理员,这就意味着其会允许软件继续运行,同时能够使我们意识到这一情况是何时发生的。对于希望通过了解这些情况以此来改进产品的人来说,它其实是提供了一个启用安全功能的附加好处,即无需重新编译(在某些情况下),就能告诉你确切的程序代码在当它在运行时遇到问题的位置。在版本10.0.16253中,可以进行审计的保护特性包括:
 
任意代码保护 - 防止非图像支持的执行代码和代码页修改(例如VirtualAlloc / VirtualProtect创建/修改的代码)
阻止低完整性图像
阻止远程图像
阻止不受信任的字体
代码完整性守护者
禁用Win32k系统调用
不允许子进程
导出地址过滤 - 将功能修补到另一个功能的一个常见方法中的一个步骤
导入地址过滤 - 将功能修补到另一个功能的一个常见方法中的一个步骤
模拟执行
验证API调用(CallerCheck)
验证图像依赖完整性
验证堆栈完整性
 
要充分利用此功能,我们需要安装Windows Performance Toolkit。它是Windows SDK安装程序的安装选项之一。当您启用了您感兴趣的设置后,打开管理命令提示符并浏览到Windows Performance Toolkit目录(通常为Program Files(x86) Windows Kits  {Version}  Windows Performance Toolkit)。您可以通过运行以下两个命令(在替换文件名所需的任何路径之后)启动并开始收集上述漏洞保护设置的跟踪以及解析堆栈跟踪所需的数据:
xperf - “PROC_THREAD + LOADER”-f“wdeg_klogger.etl”
 
xperf -start“WDEG” - “Microsoft-Windows-Security-Mitigations:0xFFFFFFFFFFFFFF:0xFF:'stack'”-f“wdeg_unmerged.etl”
在您运行任何想要收集的方案之后,您可以停止跟踪并将数据与以下内容合并(再次替换文件名所需的任何路径):
xperf -stop -stop“WDEG”-d“wdeg_merged.etl”
 
然后,您可以删除创建的前两个文件,因为此时您将拥有第三个所需的所有数据。您可以在Windows Performance Analyzer(WPA)中打开生成的etl文件,并查看数据。
 
您可以使用wpaPreset文件扩展名保存它,在WPA中加载数据,转到我的预设(在WPA的较新版本中的文件 – >窗口 – >我的存在),选择导入,浏览到保存预设的任何地方,选择它,并双击它以显示视图。另外,您还需要加载符号,以充分利用这一点。您可以在WPA中在File-> Configure Symbols下设置符号; 您需要将其指向msdl.microsoft.com/download/symbols上的Microsoft符号服务器以及您的符号服务器(或您没有符号服务器设置的符号文件的位置)。您可以在加载跟踪时自动配置WPA加载符号,但也可以通过转到文件 – >加载符号来手动加载符号。一旦完成,您将能够轻松地查看堆栈跟踪。它就会像下面这样:
 
以下是在创建上述过程中我为x64控制台应用程序编译的示例代码:
#include #include using namespace std;void* CreateCodeInVirtualMemory(BOOL writable)
{ BYTE code[3] = { 0x33, 0xc0, 0xc3 }; LPVOID result = VirtualAlloc(NULL, sizeof(code), MEM_COMMIT | MEM_RESERVE, writable ? PAGE_EXECUTE_READWRITE : PAGE_READWRITE); if (result)
{
  memcpy(result, code, sizeof(code));
} else cout << "VirtualAllocEx failed with error " << GetLastError() << endl; return result;
}void CreateCodeInVirtualMemoryAndExecute(BOOL useWritableMemory)
{ LPTHREAD_START_ROUTINE addr = (LPTHREAD_START_ROUTINE)CreateCodeInVirtualMemory(useWritableMemory); if (addr)
{  DWORD result = addr(NULL);
  cout << "Code at 0x" << hex << (void*)addr << " returned " << result << endl;
} else cout << "NULL address was not executed" << endl;
}void ExecuteIllegalMemory()
{
CreateCodeInVirtualMemoryAndExecute(FALSE);
} 
void PrintOptions()
{
cout << "Enter one of the following options:" << endl;
cout << "1 - Execute Memory Not Marked As Executable" << endl;
cout << "2 - Create Code in Virtual Memory" << endl;
cout << "3 - Create Code in Virtual Memory and Execute" << endl;
cout << "0 - Exit" << endl;
 
}void DecisionLoop()
{ while (true)
{  int selection;
  PrintOptions();
  cin >> selection;  switch (selection)
  {   case 0:    return;   case 1:
    ExecuteIllegalMemory();    break;   case 2:
    CreateCodeInVirtualMemory(TRUE);    break;   case 3:
    CreateCodeInVirtualMemoryAndExecute(TRUE);    break;   default:
    cout << "Invalid input" << endl;
  }
}
}int main()
{
DecisionLoop(); return 0;
}
 
在这里我没有去对它的应用做更多的介绍,但我相信我的抛砖引玉一定能够让更多的人对这一功能产生兴趣。
对于在事件查看器中的应用程序和服务日志中找到的大多数内容,您也可以以相同的方式完成此类操作——单击特定日志的属性,它将具有Provider-Name-Parts / LogName形式的名称。您只需要在xperf命令中使用“Provider-Name-Parts”部分即可。
未发布 Google开源了Abseil,为C++和Python开发提供支持
by Harriet666 keys 分享 1507530171137
Google公开了其项目内部使用的一系列C++库,随后还会公开其Python库。

Abseil已在Google历经十多年的开发,它的目的是为Google编程人员在各种项目上的工作需求提供支持,这些项目包括Protocol Buffers、gRPC和TensorFlow等。Google评价Abseil为:
  • 它是从Google内部代码块中抽取出来的一系列最基础的软件库。作为基本的组成部分,这些软件库支撑了几乎全部Google在运行的项目。以前这些API是零零散散地嵌入在Google的大部分开源项目中,现在我们将它们规整在一起,形成这样一个全面的项目。
  • Abseil是Google代码库的最基本构建模块,其代码经过了生产环节测试,此后还会继续得到完全的维护。

最初,Abseil提供的抽象并非C++ 14或C++ 17的组成部分,但最终它们已被添加到C++标准中。例如,Google提供一个称为StringPiece的类型,随后C++ 17也添加了一个称为std::string_view的相近类型。为了与新的C++ 17类型具有一致的API,Google将StringPiece重构为absl::string_view。从底层机制上看,如果开发人员正在使用的是C++ 17,那么Abseil的string_view默认为标准实现;如果开发人员正在使用的是C++ 17以前的版本,那么string_view默认为Google的实现。
 
使用Abseil的优点在于可以访问一些目前依然尚未添加到标准中的C++特性,并且一旦这些特性被添加到C++标准中,Google保证会重构这些特性为默认使用标准实现。Google鼓励开发人员使用Abseil,并提及已有超过两亿五千万行的C++代码使用它,并且几乎所有从头开始构建的项目都使用了它。这意味着,Abseil已被Google广为使用,并出于与项目需求同步的考虑而得以频繁维护。
 
Abseil中包括如下的库:
  • base:初始化,以及其它的基础代码。 
  • algorithm:对C++的库的补充,并为原算法提供了基于容器的版本。 
  • container:提供了更多的STL类型容器。 
  • debugging:用于检查泄漏的调试库。 
  • memory:包括兼容C++ 11版本的std::make_unique()和内存管理。 
  • meta:包括兼容C++ 11版本的类型检查,在C++ 14和C++ 17版本的C++ 库中可用。 
  • numeric:兼容C++ 11的128位整数。 
  • strings:各种字符串工具。 
  • synchronization:并发原语和同步抽象。 
  • time:抽象了绝对时间点操作和时区操作。 
  • types:非容器工具的类型。 
Abseil的代码采用Apache许可,已发布在GitHub上。其Python版本的软件库将随后发布。
更多资讯>>>


 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  3. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  4. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  5. Node.js 打印vite react+go项目目录树
  6. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  7. Windows与Mac通过git ssh和rsync实现文件共享互传
  8. Windows与Mac通过git ssh和scp实现文件共享互传
  9. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  10. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA