导航:首页 > 源码编译 > stl源码是哪种语言

stl源码是哪种语言

发布时间:2023-08-10 06:07:14

❶ 西门子PLC编程STL语言到底是啥意思啊看不懂。求大神指导

STL是PLC编程的一种,和梯形图是不同的形式,而目的都是实现某个控制的功能。这个代码是一系列的条件,从而实现不同的跳转。具体目的是什么,要根据实际的控制目的来解释。

❷ 谁来解释下c++中的STL用来做什么的,推荐点学习资料

关于STL网上资料还是很多的,以下是对初学者较为好理解的:

STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。该库包含了诸多在计算机科学领域里所常用的基本数据结构和基本算法。为广大C++程序员们提供了一个可扩展的 应用框架,高度体现了软件的可复用性。这种现象有些类似于Microsoft Visual C++中的MFC(Microsoft Foundation Class Library),或者是Borland C++ Builder中的VCL(Visual Component Library)

从逻辑层次来看,在STL中体现了泛型化程序设计的思想(generic programming),引入了诸多新的名词,比如像需求(requirements),概念(concept),模型(model),容器 (container),算法(algorithmn),迭代子(iterator)等。与OOP(object-oriented programming)中的多态(polymorphism)一样,泛型也是一种软件的复用技术。

从实现层次看,整个STL是以一种类型参数化(type parameterized)的方式实现的,这种方式基于一个在早先C++标准中没有出现的语言特性--模板(template)。如果查阅任何一个版本 的STL源代码,你就会发现,模板作为构成整个STL的基石是一件千真万确的事情。除此之外,还有许多C++的新特性为STL的实现提供了方便。

没有C++语言就没有STL,这么说毫不为过。一般而言,STL作为一个泛 型化的数据结构和算法库,并不牵涉具体语言(当然,在C++里,它被称为STL)。也就是说,如果条件允许,用其他语言也可以实现之。这里所说的条件,主 要是指类似于"模板"这样的语法机制。如果你没有略过前一节内容的话,应该可以看到,Alexander Stepanov在选择C++语言作为实现工具之前,早以采用过多种程序设计语言。但是,为什么最终还是C++幸运的承担了这个历史性任务呢?原因不仅在 于前述那个条件,还在于C++在某些方面所表现出来的优越特性,比如:高效而灵活的指针。但是如果把C++作为一种OOP(Object- Oriented Programming,面向对象程序设计)语言来看待的话(事实上我们一般都是这么认为的,不是吗?),其功能强大的继承机制却没有给STL的实现帮上 多大的忙。在STL的源代码里,并没有太多太复杂的继承关系。继承的思想,甚而面向对象的思想,还不足以实现类似STL这样的泛型库。C++只有在引入了 "模板"之后,才直接导致了STL的诞生。这也正是为什么,用其他比C++更纯的面向对象语言无法实现泛型思想的一个重要原因。当然,事情总是在变化之 中,像Java在这方面,就是一个很好的例子,jdk1.4中已经加入了泛型的特性。

此外,STL对于C++的发展,尤其是模板机制,也起到了促进作用。比如: 模板函数的偏特化(template function partial specialization),它被用于在特定应用场合,为一般模板函数提供一系列特殊化版本。这一特性是继STL被ANSI/ISO C++标准委员会通过之后,在Bjarne和Stepanov共同商讨之下并由Bjarne向委员会提出建议的,最终该项建议被通过。这使得STL中的一 些算法在处理特殊情形时可以选择非一般化的方式,从而保证了执行的效率。STL是最新的C++标准函数库中的一个子集,这个庞大的子集占据了整个库 的大约80%的分量。而作为在实现STL过程中扮演关键角色的模板则充斥了几乎整个C++标准函数库.

在STL还没有降生的"黑暗时代",C++程序员要完成前面所提到的那些功能,需要做很多事情(不过这比起C程序来,似乎好一点),程序大致是如下这个样子的:

#include <stdlib.h>
#include <iostream.h>

int compare(const void *arg1, const void *arg2);

void main(void)
{
const int max_size = 10; // 数组允许元素的最大个数
int num[max_size]; // 整型数组

// 从标准输入设备读入整数,同时累计输入个数,
// 直到输入的是非整型数据为止
int n;
for (n = 0; cin >> num[n]; n ++);

// C标准库中的快速排序(quick-sort)函数
qsort(num, n, sizeof(int), compare);

// 将排序结果输出到标准输出设备
for (int i = 0; i < n; i ++)
cout << num[i] << "\n";
}

// 比较两个数的大小,
// 如果*(int *)arg1比*(int *)arg2小,则返回-1
// 如果*(int *)arg1比*(int *)arg2大,则返回1
// 如果*(int *)arg1等于*(int *)arg2,则返回0
int compare(const void *arg1, const void *arg2)
{
return (*(int *)arg1 < *(int *)arg2) ? -1 :
(*(int *)arg1 > *(int *)arg2) ? 1 : 0;
}

试着使用一下STL,看看效果如何。
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

void main(void)
{
vector<int> num; // STL中的vector容器
int element;

// 从标准输入设备读入整数,
// 直到输入的是非整型数据为止
while (cin >> element)
num.push_back(element);

// STL中的排序算法
sort(num.begin(), num.end());

// 将排序结果输出到标准输出设备
for (int i = 0; i < num.size(); i ++)
cout << num[i] << "\n";
}

这个程序的主要部分改用了STL的部件,看起来要比第一个程序简洁一 点,你已经找不到那个讨厌的compare函数了。这个程序是足够健壮的。

下面我们来看看这个绝版的C++程序。
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>

using namespace std;

void main(void)
{
typedef vector<int> int_vector;
typedef istream_iterator<int> istream_itr;
typedef ostream_iterator<int> ostream_itr;
typedef back_insert_iterator< int_vector > back_ins_itr;

// STL中的vector容器
int_vector num;

// 从标准输入设备读入整数,
// 直到输入的是非整型数据为止
(istream_itr(cin), istream_itr(), back_ins_itr(num));

// STL中的排序算法
sort(num.begin(), num.end());

// 将排序结果输出到标准输出设备
(num.begin(), num.end(), ostream_itr(cout, "\n"));
}

在这个程序里几乎每行代码都是和STL有关的(除了main和那对花 括号,当然还有注释),并且它包含了STL中几乎所有的各大部件(容器container,迭代器iterator, 算法algorithm, 适配器adaptor)

推荐资料 <<C++ Templates 中文版>>
《泛型编程与-STL中文版》
《C++ STL 中文版》
《Effective.STL中文版》

❸ c++ 的 stl windows sdk mfc wtl 这几个部分应该怎么学习啊

1.打牢C++的语言基础。
2.STL是C++的标准库,基于模板技术,结合泛型设计思想,是一套学习C++本身的很好的库,但需要很好的C++语言功底。在一般的C++书籍中,都会有STL的章节,不过一般只是讲如何应用它。在学习数据结构的时候,结合STL来学习容器和算法,再好不过,推荐书籍《STL源码剖析》(侯捷),如果你觉得需要掌握更深层次的模版技术并加强对模版的正确认识和了解,请看《C++ Templates中文版》。
3.对于windows sdk,你可以看《windows 程序设计》(Charles Petzold),里面的例子全是用C写就的,有了C/C++的基础,这些例子都很简单。跟着书本循序渐进,你会获益良多。接下来,你可以看《windows核心编程》(Jeffrey Richter),里面有很多高级技术,例子也用C++写成。读完这两本书,你对windows环境下的编程就有了清晰的了解。
4.对于MFC,有了第三部的积累,小菜一碟。前提是第三部分你要掌握的非常良好。如果你初读《MFC深入浅出》(侯捷),你可能会觉得有所困难,不过不要泄气,硬着头皮也要学完前几章,待到你把前几章弄通后,哈,后面的就很容易学下去了,而且充满乐趣(对我而言是如此的)!
5.WTL,一个非常棒的Frame。你学好了模板,再结合你对MFC的了解,学习WTL再简单不过了。WTL最好的一个地方在于,它是基于模版和多重继承实现的。由于模版的特性,WTL所有的源代码都在头文件中,这些源码正是学习WTL的最好方法。到了这个阶段,你会觉得,看WTL源代码是一件颇为享受的事情,因为你得以一窥它是如何实现与MFC同名的一些函数的。自然,这里有一本书(其实不能算书,是Code Project上的一系列文章的集合),叫做《WTL for MFC programmer》,有中文版。
关于其它,对于windows的高级技术COM/COM+,已经不是现今的主流技术了,《COM本质论》的作者也说在.net大行其道的今天,COM已经没落了,但现在windows的很多关键部分仍在应用COM,谷歌地球的自定义编程也是COM方面的内容。简单来说,COM是基于二进制防火墙的跨平台的技术,内容繁杂,你可以先看《COM技术内幕》,再看《COM本质论》,如果你感兴趣的话。我当时光看COM中的聚合,就搞得头大。
学完COM,你能干什么呢?还不到时候。接下来就到ATL(活动模板库)了,它是基于COM的框架。具体的内容我也没怎么学,我倒是买了本《ATL技术内幕》,留待以后学习吧。
抛开windows,但看C++本身,有很多有趣的东西。我首推《C++模板元编程》,这是一本考验耐性和智力的书。同时你必然就接触到了Boost库,这个库的名气很大,我就不赘述了。如果你有兴趣,可以看看脚本语言与C++的混合编程(仅是个人推荐,看你兴趣),其中之一就是Boost::Python和C++的混合编程(当然,Python是一种独立的脚本语言,Boost::Python只是用于C++编程的)。
还有什么呢,还是模板,依旧是泛型编程。先提一个项目,“大芒果”,魔兽世界的网络变“单机”的服务器。里面应用到了很多这本书介绍的技术:《C++设计新思维-泛型编程与设计模式之应用》。当然,对于这么大一个项目,这只是冰山一角。
还有吗?当然,数之不尽……

❹ 请问西门子PLC编程语言“语句表(STL)”的全拼是什么

STL
(Standard
Template
Library
)
语句表
(STL)
300/400系列PLC的硬件系统及内部资源,
第3章介绍了S7—300/400系列PLC的寻址方式和指令系统,
并结合实例重点讲解了语句表(STL)及梯形图(LAD)指令的使用方法,
第4章介绍了STEP7软件的编程环境及PLC应用系统设计的内容和方法,
第5章介绍了用STL.

❺ S7系列的PLC的编程语言LAD、STL、SCL、GRAPH、HIGRAPH、CFC分别是什么意思

S7系列的PLC的编程语言LAD、STL、SCL、GRAPH、HIGRAPH、CFC分别是什么意思?

LAD:梯形图----------日系称作为LD
STL:指令表---------日系称作为IL
SCL:结构文本-------日系称作为ST
GRAPH:图形编程-----日系称作为SFC
HIGRAPH:高级图形编程
CFC:连续功能编程。

请问谁有“S7系列的PLC的编程语言LAD、STL、SCL、GRAPH、HIGRAPH、CFC”的相关资料?能否拿出来分享下!谢

深圳精展达高工0755-33181913,13480903564一级代理LGPLC,西门子PLC,LG变频器,LG触摸屏,威纶触摸屏,weinview触摸屏,eview触摸屏,四方变频器,雷赛步进,KINCO步进,KINCO伺服等自动化产品兼具非标设备程序编程开发,质量保证,价格优惠,买工控,精展达!

西门子PLC S7-300/400的STEP7中的编程语言SFC、LAD、STL、FBD、ST、S7 HiGraph、S7 CFC各有什么特点?

SFC是功能块、不是语言、最常用的语言是LAD就是梯形图、简单明了、其他的要看随便找本PLC书上面就有

PLC S7-SCL是什么意思

结构化控制语言编程结构和C语言和Pascal语言相似,特别适合于习惯于使用高级语言编程的人使用。SCL程序可以在CPU314及其以上的S7(包括400)中运行。
德国西门子(SIEMENS)公司生产的可编程序控制器在我国的应用也相当广泛,在冶金、化工、印刷生产线等领域都有应用。西门子(SIEMENS)公司的PLC产品包括LOGO、S7-200、S7-1200、S7-300、S7-400等。 西门子S7系列PLC体积小、速度快、标准化,具有网络通信能力,功能更强,可靠性高。S7系列PLC产品可分为微型PLC(如S7-200),小规模性能要求的PLC(如S7-300)和中、高性能要求的PLC(如S7-400)等。

三棱Plc 编程的INCP 和DECP 分别是什么意思?怎么用?

INCP 加一巧谨指令
LD X0
INCP D0 X0驱动一次D0里面的数字增加1
DECP 减一指令。与上面相反。

奥迪系列里的A系S系R系分别是什么意思?

奥迪的划分A是轿车,A4是中型车(B级车),A6是中大型乱御车(C级车),A8是豪华车(D级车),A5是轿跑车。S是高性能版本。比如奥迪S6和S8采用的是V10发动机。S5是V8发动机。此外更高性能的车是RS系列,比如奥迪RS6的V10双涡轮增压发动机达到了580匹马力,是奥迪家族中功率最高的。R是超跑R8,只有V8双涡轮增压版和V10自然吸气版。此外还有Q,有Q5和Q7。Q就是Quattro的缩写,这是奥迪引以为傲的四轮驱动技哗宽岩术。Q5和Q7的全系都是四轮驱动的。5顾名思义就是介于6和4之间的数,Q5比A4大,比A6小。Q7比A6大,比A8小。此外,奥迪只有四轮驱动和前轮驱动,没有后轮驱动的奥迪。

SCLSDA分别是什么意思?

I2C总线由数据线SDA和时钟信号线SCL构成串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。 I2C总线在传送数据过程 *** 有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。 开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。 结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。 应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。 这些信号中,起始信号是必需的,结束信号和应答信号,都可以不要。

编程语言的几进制是什么意思?

进位制/位置计数法是一种记数方式,故亦称进位记数法/位值计数法,可以用有限的数字符号代表所有的数值。可使用数字符号的数目称为基数(en:radix)或底数,基数为n,即可称n进位制,简称n进制。现在最常用的是十进制,通常使用10个阿拉伯数字0-9进行记数。
对于任何一个数,我们可以用不同的进位制来表示。比如:十进数57(10),可以用二进制表示为111001(2),也可以用五进制表示为212(5),也可以用八进制表示为71(8)、用十六进制表示为39(16),它们所代表的数值都是一样的。

请问flash编程语言中selected是什么意思?

selected表示是否选中的意思,如判断一个多选框或单选框是否选中,选中则返回true,否则返回false。
至于你说的在...之前,请粘贴完整信息,多数是指语法不对,本来该语句应该在某函数之内的,你写在函数外了。

Gibson 的 Double Cut 和 Single Cut 系列分别是什么意思

Gibson Lespaul Standard Doublecut。什么颜色都有,这个型号产量最多的年份是98年和05年。但是这个琴的卷弦器修改过,出厂的应该是电镀Grover半圆形的。面板是AAA的枫木板。之后还有一个型号,叫lespaul standard doublecut pro,那个是22格的。

❻ plc程序源代码用什么程序写的

源程序是用STL语言写的,可以通过梯形图生成。打开程序块,文件菜单下边有一个生成源文件就可以。最常用到的使用源文件的地方就是给程序块加密(虽然现在可以很容易破解)。
1、在STEP7中打开要加密的程序块,点击菜单“文件/生成源文件(File/Generate source)”,
生成要加密保护的程序块的原代码文件。
2、关闭程序块,在项目管理器中打开“源文件(source)”,打开生成的源文件。
3、在程序块的声明部分,TITLE行下面的一行中输入“KNOW_HOW_PROTECT”。
4、执行菜单命令“文件/保存(File/Save)”然后“文件/编译(File/Compile)”。
5、编译成功后,可在“块”中看到加锁的程序块。
6、解除密码,打开相应的“源文件”,把“KNOW_HOW_PROTECT”删除,然后编译即可。

注意,保存好源文件,否则已加密的程序块将无法打开。

❼ c语言里面可以用stl么

不可以。
STL即Standard Template Library,也就是标准模板库。是针对C++语言进行开发的,里面使用了重载,模板等等技术。
这些技术都是C++所特有的,C语言并不支持。
所以在C语言中无法使用STL。
当C语言编程中需要类似功能时,可以自行实现类似的,C语言可用的函数接口。

阅读全文

与stl源码是哪种语言相关的资料

热点内容
为什么滴滴出行app还能用 浏览:562
怎么升级手机android 浏览:922
php权威编程pdf 浏览:994
扣扣加密技巧 浏览:720
苹果如何创建服务器错误 浏览:495
软考初级程序员大题分值 浏览:473
js压缩视频文件 浏览:578
linux如何通过命令创建文件 浏览:989
应用加密app还能访问应用嘛 浏览:433
安卓怎么用支付宝交违章罚款 浏览:665
php面向对象的程序设计 浏览:504
数据挖掘算法书籍推荐 浏览:894
投诉联通用什么app 浏览:151
web服务器变更ip地址 浏览:955
java正则表达式验证邮箱 浏览:362
成熟商务男装下载什么软件app 浏览:610
加密2h代表长度是多少厘米 浏览:23
拍卖程序员 浏览:103
电脑的图片放在哪个文件夹 浏览:276
unsignedintjava 浏览:218