精华内容
下载资源
问答
  • 硬编码

    千次阅读 2013-03-24 21:20:45
    昨天在查看NHibernate一个帮助文档中,涉及到通过嵌入式读取配置文件消除对应用程序中对文件名的硬编码,第一次听说硬编码名词概念,在CSDN看到一些人对于这些概念的讨论,与硬编码对应的是软编码,对于硬编码和软...

    (本文转载自http://blog.csdn.net/zhongguoren666/article/details/6670077)

    昨天在查看NHibernate一个帮助文档中,涉及到通过嵌入式读取配置文件消除对应用程序中对文件名的硬编码,第一次听说硬编码名词概念,在CSDN看到一些人对于这些概念的讨论,与硬编码对应的是软编码,对于硬编码和软编码定义其实是相对而言的,如果你了解这些名词,应该能够感觉其实与应用程序的设计上时异曲同工.  举一个实例:

    硬编码主要是关联很紧密的结构,而软编码是关联比较松的。
    从实现的层次上,也就是一级关联很多级关联的差别。比如
    int i = 1; 这个是数字和变量的直接一级关联
    #define pig 1
    int i = pig; 这个是数字通过pig间接关联数字

    多级关联的好处就是你可以通过修改中间的一层,而不需要直接改变对应的一层。比如你可以改变pig 2,而不需要改变int i = pig;

    如果你觉得这样只不过是增加无聊的层次,那么首先应该认识到中间层带来的若干好处。比如清晰的逻辑划分:
    #define pig 1 
    int i = pig
    ing j = pig
    i,j 都是对应一个逻辑词pig,而不是某个数字,我们可以预想到,如果pig需要改变,那么i,j都是应该改变的,因为他们逻辑相同。如果硬编码就不能表达这种逻辑上相同的关系,只能分别修改i,j。这就浪费一些时间,同时增加出错的可能性

     第二个是中间层可以抽象一个简单的使用界面出来,方便具体实现的修改:
    同时是相面的例子,我们不需要理会pig具体是什么,也就是不需要理会pig的实现。这样就可以将实现和接口区分,pig可以修改而不干扰的使用它的代码。
    #define pig 2
    int i = pig; //不用改变
    ing j = pig;  //不用改变

    不过软编码比硬编码要复杂一些,对以后的考虑要周到一些。软编码是一种设计,而硬编码不过是一种具体的实现。软件开发不只是需要一个软件的实现,更需要软件能够很好的修改,方便得扩展,所以需要一些设计技巧在里面

    其实我们常说对程序进一步重构,我们目的就是实现对象之间的松耦合,使程序能够应对多种情况下的变化,具有一定的扩展性,对于这两个名词其实它的背后隐藏的是一种设计思想,硬编码和软编码只是一种表现在实际情况中一种问题,而这种思想可以应用于多个方面,面对多个问题。

    总结思想比总结问题 要更加高效,以不变应万变。

    展开全文
  • 硬编码硬编码

    千次阅读 2011-08-08 17:34:18
    昨天在查看NHibernate一个帮助文档中,涉及到通过嵌入式读取配置文件消除对应用程序中对文件名的硬编码,第一次听说硬编码名词概念,在CSDN看到一些人对于这些概念的讨论,与硬编码对应的是软编码,对于硬编码和软...
       
    

    昨天在查看NHibernate一个帮助文档中,涉及到通过嵌入式读取配置文件消除对应用程序中对文件名的硬编码,第一次听说硬编码名词概念,在CSDN看到一些人对于这些概念的讨论,与硬编码对应的是软编码,对于硬编码和软编码定义其实是相对而言的,如果你了解这些名词,应该能够感觉其实与应用程序的设计上时异曲同工.  举一个实例:

    硬编码主要是关联很紧密的结构,而软编码是关联比较松的。
    从实现的层次上,也就是一级关联很多级关联的差别。比如
    int i = 1; 这个是数字和变量的直接一级关联
    #define pig 1
    int i = pig; 这个是数字通过pig间接关联数字

    多级关联的好处就是你可以通过修改中间的一层,而不需要直接改变对应的一层。比如你可以改变pig 2,而不需要改变int i = pig;

    如果你觉得这样只不过是增加无聊的层次,那么首先应该认识到中间层带来的若干好处。比如清晰的逻辑划分:
    #define pig 1
    int i = pig
    ing j = pig
    i,j 都是对应一个逻辑词pig,而不是某个数字,我们可以预想到,如果pig需要改变,那么i,j都是应该改变的,因为他们逻辑相同。如果硬编码就不能表达这种逻辑上相同的关系,只能分别修改i,j。这就浪费一些时间,同时增加出错的可能性

     第二个是中间层可以抽象一个简单的使用界面出来,方便具体实现的修改:
    同时是相面的例子,我们不需要理会pig具体是什么,也就是不需要理会pig的实现。这样就可以将实现和接口区分,pig可以修改而不干扰的使用它的代码。
    #define pig 2
    int i = pig; //不用改变
    ing j = pig;  //不用改变

    不过软编码比硬编码要复杂一些,对以后的考虑要周到一些。软编码是一种设计,而硬编码不过是一种具体的实现。软件开发不只是需要一个软件的实现,更需要软件能够很好的修改,方便得扩展,所以需要一些设计技巧在里面

    其实我们常说对程序进一步重构,我们目的就是实现对象之间的松耦合,使程序能够应对多种情况下的变化,具有一定的扩展性,对于这两个名词其实它的背后隐藏的是一种设计思想,硬编码和软编码只是一种表现在实际情况中一种问题,而这种思想可以应用于多个方面,面对多个问题。

    总结思想比总结问题 要更加高效,以不变应万变。

    展开全文
  • Android的SDK提供了硬编码的接口,但是是基于异步机制,就是当编码这一帧的时候,可能输出的上几帧的编码输出,即使是level为baseline也是这样。 但是我的要求实时性特别高,有没有能改成同步的方法,即这一帧的输出...
  • 硬编码和软编码

    2018-05-29 20:17:32
    计算机科学中,只有硬编码(hardcode),以及非硬编码,有人也成为“软编码”。 1.硬编码主要是关联很紧密的结构,而软编码是关联比较松的。 2.从实现的层次上,也就是一级关联很多级关联的差别。比如 int i ...

    计算机科学中,只有硬编码(hardcode),以及非硬编码,有人也成为“软编码”。

    1.硬编码主要是关联很紧密的结构,而软编码是关联比较松的。
    2.从实现的层次上,也就是一级关联很多级关联的差别。比如

    int i = 1; 这个是数字和变量的直接一级关联
    #define pig 1
    int i = pig; 这个是数字通过pig间接关联数字

    软编码比硬编码要复杂一些,对以后的考虑要周到一些。软编码是一种设计,而硬编码不过是一种具体的实现。软件开发不只是需要一个软件的实现,更需要软件能够很好的修改,方便得扩展,所以需要一些设计技巧在里面

    其实我们常说对程序进一步重构,我们目的就是实现对象之间的松耦合,使程序能够应对多种情况下的变化,具有一定的扩展性,对于这两个名词其实它的背后隐藏的是一种设计思想,硬编码和软编码只是一种表现在实际情况中一种问题,而这种思想可以应用于多个方面,面对多个问题。

    总结思想比总结问题 要更加高效,以不变应万变。

    PS

    一、软编码和硬编码如何区分

       软编码:使用CPU进行编码
    
       硬编码:使用非CPU进行编码,如显卡GPU、专用的DSP、FPGA、ASIC芯片等
    

    二、软编码和硬编码比较

       软编码:实现直接、简单,参数调整方便,升级易,但CPU负载重,性能较硬编码低,低码率下质量通常比硬编码要好一点。
    
       硬编码:性能高,低码率下通常质量低于硬编码器,但部分产品在GPU硬件平台移植了优秀的软编码算法(如X264)的,质量基本等同于软编码。
    

    三、目前的主流GPU加速平台

       Intel、AMD、NVIDIA
    

    四、目前主流的GPU平台开发框架

       CUDA:NVIDIA的封闭编程框架,通过框架可以调用GPU计算资源
    
       AMD APP:AMD为自己的GPU提出的一套通用并行编程框架,标准开放,通过在CPU、GPU同时支持OpenCL框架,进行计算力融合。
    
       OpenCL:开放计算语言,为异构平台编写程序的该框架,异构平台可包含CPU、GPU以及其他计算处理器,目标是使相同的运算能支持不同平台硬件加速。
    
       Inel QuickSync:集成于Intel显卡中的专用视频编解码模块。
    
    展开全文
  • android 硬编码示例

    2018-12-13 10:13:44
    android 硬编码示例,有需要的同学们可以下下来参照一下!
  • 硬编码和非硬编码(软编码)

    千次阅读 2018-06-28 16:16:58
    1、在计算机程序中, 硬编码是指将可变变量用一个固定值来代替的方法, 使用这样方法,编译后,如果想更改词变量就变的非常困难。因此, 在大部分的程序语言中,可以将一个固定值定义为一个标记, 然后用这个特殊的...

    1、在计算机程序中, 硬编码是指将可变变量用一个固定值来代替的方法, 使用这样方法,编译后,如果想更改词变量就变的非常困难。因此, 在大部分的程序语言中,可以将一个固定值定义为一个标记, 然后用这个特殊的标记来取代变量名称。 当标记名称发生改变时, 变量名不变。这样在程序进行编译时,所有的变量都不再是固定值 这样就更容易实现改变变量的目的。

    所以在通常情况下, 应该避免使用硬编码方法:

    例如:

    java 例子:

    硬编码: if(a==2): return false:

    非硬编码: if(a==b):return false:

    硬编码通常来讲: 就是把数值写成常数,而不是变量

     

    C++ 例子

    硬编码:

    for(int I = 0; I<120; i++){

           ...

    }

    非硬编码:

    #define MAX_USER_CNT 120

    for (int i=0; i<MAX_USER_CNT; i++){

           ...

    }

    这里的120就属于数字式“硬编码”,这不仅让程序很难读,而且不易维护。如果要修改120,就的修改程序中所有与此有关的120。应将数字式“硬编码”声明成一个宏,这样程序不仅易读,而且还可以一改全改。

     

    软编码比硬编码要复杂一些,对以后的考虑要周到一些。软编码是一种设计,而硬编码不过是一种具体的实现。软件开发不只是需要一个软件的实现,更需要软件能够很好的修改,方便得扩展,所以需要一些设计技巧在里面。

    原网址 https://my.oschina.net/u/2272631/blog/1633869

    展开全文
  • 硬编码问题

    2020-06-15 16:26:44
    : 硬编码问题 概念: 硬编码是将数据直接嵌入到程序或其他可执行对象的源代码中的软件开发实践,与从外部获取数据或在运行时生成数据不同。 硬编码数据通常只能通过编辑源代码和重新编译可执行文件来修改,尽管可以...
  • android硬编码h264

    千次下载 热门讨论 2013-12-26 15:20:25
    android 用新api mediacodec硬编码h264, 发送到vlc播放。
  • 硬编码和软编码的区别

    千次阅读 2019-05-31 21:17:02
    Android 视频 硬编码和软编码的区别 软编码和硬编码如何区分 软编码:使用CPU进行编码 硬编码:使用非CPU进行编码,如显卡GPU、专用的DSP、FPGA、ASIC芯片等 软编码和硬编码比较 软编码:实现直接、简单,参数调整...
  • 硬编码与软编码

    千次阅读 多人点赞 2018-11-07 17:23:18
    硬编码:就是将数据直接写入到代码中进行编译开发,比如在没有mybatits前,将sql语句写入到jdbc代码里,在比如纯jsp开发的过程中,将前端的html代码与java代码耦合,这都是应编码,如果要发生更改的问题,就需要更改...
  • 在计算机程序中, 硬编码是指将可变变量用一个固定值来代替的方法, 使用这样方法,编译后,如果想更改词变量就变的非常困难。因此, 在大部分的程序语言中,可以将一个固定值定义为一个标记, 然后用这个特殊的标记...
  • 硬编码 and 软编码

    2019-05-18 09:47:30
    硬编码: 什么是“硬编码”? “硬”,顾名思义,就是死板,一次性的意思。其定义也就是“将可变变量用一个固定数值表示”,这种方式在编码的过程中会导致变量很难修改。因此通常采用的方式都是软编码的方式, 软...
  • android H264硬编码

    2018-05-23 14:45:00
    android H264硬编码,通过UDP发送裸流,可用VLC直接播放,VLC选择去复用。
  • 硬编码-附件资源

    2021-03-05 15:25:25
    硬编码-附件资源
  • 全志H264硬编码

    2017-12-21 10:41:38
    V40, A31s, A80, A33, H3, H8 全志H264硬编码 包含测试视频播放器,说明
  • 视频硬编码笔记

    千次阅读 2018-11-26 19:32:50
    之后依次使用Intel与nvidia的硬编码测试效果,总算满足了实时编码的要求,下面把整个过程做一个记录。整个过程均使用ffmpeg实现,不清楚ffmpeg的请参考雷神的博客FFMPEG视音频编解码零基础学习方法 所谓硬编码,我的...
  • VPU硬编码

    千次阅读 2016-12-13 14:15:40
    平台是RK3066(福州瑞芯微公司),Android 4.2.0,其实时VP8硬编码,与软件编码是ffpmeg,x264,xvid等软编码是有区别的。硬编码主要是依赖于 硬件。  硬编码:通过调用Android系统自带的Camera录制视频,实际上是...
  • 硬编码课件.rar

    2019-05-20 13:21:21
    滴水 硬编码课件
  • Intel MSDK 硬编码

    千次阅读 2019-02-15 11:26:59
    Intel MSDK 硬编码Intel MSDK samplesIntel MSDK encoding sampleIntel MSDK encoding 代码CEncodingPipeline::Init 函数ffmpeg_writer::Init 函数CEncodingPipeline::Run 函数CEncodingPipeline::EncodeFrame 函数...
  • IOS 音视频 硬编码

    2015-11-19 16:49:14
    不是写文件方式硬编码,直接用IOS 2014最新公开的编码接口编码成h264 和AAc 文件和流都有。项目中实际用到的 绝对真实可靠

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 144,100
精华内容 57,640
关键字:

关于硬编码