www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > C語(yǔ)言與CPP編程
[導(dǎo)讀]上一個(gè)專題我們?cè)敿?xì)的分享了c語(yǔ)言里面的結(jié)構(gòu)體用法,讀者在看這些用法的時(shí)候,可以一邊看一邊試驗(yàn),掌握了這些基本用法就完全夠用了,當(dāng)然在以后的工作中,如果有遇到了更高級(jí)的用法,我們可以再來(lái)總結(jié)學(xué)習(xí)歸納。好了,開(kāi)始我們今天的主題分享。 一、共用體un


上一個(gè)專題我們?cè)敿?xì)的分享了c語(yǔ)言里面的結(jié)構(gòu)體用法,讀者在看這些用法的時(shí)候,可以一邊看一邊試驗(yàn),掌握了這些基本用法就完全夠用了,當(dāng)然在以后的工作中,如果有遇到了更高級(jí)的用法,我們可以再來(lái)總結(jié)學(xué)習(xí)歸納。好了,開(kāi)始我們今天的主題分享。


一、共用體union:


1、什么是共用體union?


    這個(gè)共用體,估計(jì)大家平時(shí)在代碼也比較少見(jiàn),我去看了一下stm32的例程里面沒(méi)怎么看到這個(gè)用法(下面的示例分享是在stm32里面找的);其實(shí)這個(gè)共用體union(也叫聯(lián)合體)跟我們上次分享的結(jié)構(gòu)體定義是非常像的,比如說(shuō):類型定義、變量定義、使用方法上很相似。就像下面兩個(gè)例子一樣,把許多類型聯(lián)合在一起(不過(guò)雖然形式上類似,但是具體用法還是有區(qū)別的,下面會(huì)講他們之間的區(qū)別):

union st{
   int a;
   char b;
};



2、共用體與結(jié)構(gòu)體的區(qū)別:

      

     結(jié)構(gòu)體類似于一個(gè)包裹,結(jié)構(gòu)體中的成員彼此是獨(dú)立存在的,分布在內(nèi)存的不同單元中,他們只是被打包成一個(gè)整體叫做結(jié)構(gòu)體而已;共用體中的各個(gè)成員其實(shí)是一體的,彼此不獨(dú)立,他們使用同一個(gè)內(nèi)存單元??梢岳斫鉃椋河袝r(shí)候是這個(gè)元素,有時(shí)候是那個(gè)元素。更準(zhǔn)確的說(shuō)法是同一個(gè)內(nèi)存空間有多種解釋方式。所以共用體用法總結(jié)如下:


  • union中可以定義多個(gè)成員,union的內(nèi)存大小由最大的成員的大小來(lái)決定。 


  • union成員共享同一塊大小的內(nèi)存,一次只能使用其中的一個(gè)成員。


  • 對(duì)某一個(gè)成員賦值,會(huì)覆蓋其他成員的值(這是為啥呢?,簡(jiǎn)單來(lái)講就是因?yàn)樗麄児蚕硪粔K內(nèi)存。但前提是成員所占字節(jié)數(shù)相同,當(dāng)成員所占字節(jié)數(shù)不同時(shí)只會(huì)覆蓋相應(yīng)字節(jié)上的值,比如對(duì)char成員賦值就不會(huì)把整個(gè)int成員覆蓋掉,因?yàn)閏har只占一個(gè)字節(jié),而int占四個(gè)字節(jié))。


  • 共用體union的存放順序是所有成員都從低地址開(kāi)始存放的。


3、代碼實(shí)戰(zhàn):


    #include <stdio.h>

    typedef union{
        int a;
           char c;
          //int a;
         // int b;
  }st;
     int main(void)
    
{
         st haha;
         haha.c='B';
        //  haha.a=10;
       //haha.b=60;

       printf("the haha size is %d\n",sizeof(haha));
       printf("haha.c=%d\n",haha.c);

       return 0;



#include <stdio.h>

 typedef union{

   int a;
   char c;
   int b;
 }st;
 int main(void)
 
{

           st haha;
           haha.c='B';
           haha.a=10;
           haha.b=60;

           printf("the haha size is %d\n",sizeof(haha));
printf("haha.c=%d,haha.a=%d,haha.b=%d\n",haha.c,haha.a,haha.b);

          printf("the a is 0x%x\n",&haha.a);
          printf("the c is 0x%x\n",&haha.c);
          printf("the b is 0x%x\n",&haha.b);


         return 0;
 } 


演示結(jié)果:


   the haha size is 4
   haha.c=66



 the haha size is 4
 haha.c=60,haha.a=60,haha.b=60
 the a is 0x61feac
 the c is 0x61feac
 the b is 0x61feac


說(shuō)明:


       通過(guò)上面的代碼示例,讀者可以發(fā)現(xiàn)這個(gè)共用體的大小,并不是像我們之前結(jié)構(gòu)體那樣是把每個(gè)成員所占內(nèi)存大小加起來(lái),而是我們上面說(shuō)的那樣,共用體由成員占用內(nèi)存大小最大的那個(gè)決定的,上面的示例中int 占用4個(gè)字節(jié)大小,為最大的,所以sizeof(haha)得出結(jié)果就是4個(gè)字節(jié)大小,而且讀者細(xì)心可以發(fā)現(xiàn)到打印出來(lái)的結(jié)果a和b都是60,它是訪問(wèn)內(nèi)存占用大小最大的那個(gè)成員的數(shù)值,因?yàn)槟莻€(gè)'B'的acii碼值是是66;通過(guò)示例,我們也發(fā)現(xiàn)共用體訪問(wèn)其成員方式跟結(jié)構(gòu)體是一樣的(上面也有說(shuō)到過(guò))。下面是和結(jié)構(gòu)體做對(duì)比的代碼示例:


       #include <stdio.h>
      // 共用體類型的定義
     struct mystruct
    {

           int a;
           char b;
     };
       // a和b其實(shí)指向同一塊內(nèi)存空間,只是對(duì)這塊內(nèi)存空間的2種不同的解析方式。
      // 如果我們使用u1.a那么就按照int類型來(lái)解析這個(gè)內(nèi)存空間;如果我們使用 
     // u1.b那么就按照char類型
      // 來(lái)解析這塊內(nèi)存空間。
    union myunion
    {
       int a;
       char b;
       double c;
   };

   int main(void)
   
{


        struct mystruct s1;
        s1.a = 23;
        printf("s1.b = %d.\n", s1.b);       // s1.b = 0. 結(jié)論是s1.a和s1.b是獨(dú)立無(wú)關(guān)的
        printf("&s1.a = %p.\n", &s1.a);
        printf("&s1.b = %p.\n", &s1.b);

        union myunion u1;       // 共用體變量的定義
        u1.a = 23;  
        u1.b='B';
        u1.a=u1.b;          // 共用體元素的使用
        printf("u1.a = %d.\n", u1.a);
        printf("u1.b = %d.\n", u1.b);   
        printf("u1.c = %d.\n", u1.c);   
       // u1.b = 23.結(jié)論是u1.a和u1.b是相關(guān)的
       // a和b的地址一樣,充分說(shuō)明a和b指向同一塊內(nèi)存,只是對(duì)這塊內(nèi)存的不同解析規(guī)則    
        printf("&u1.a = %p.\n", &u1.a);
        printf("&u1.b = %p.\n", &u1.b);

        printf("the sizeof u1 is %d\n",sizeof(u1));

         return 0;
 }


演示結(jié)果:

s1.b = 22.
&s1.a = 0061FEA8.
&s1.b = 0061FEAC.
u1.a = 66.
u1.b = 66.
u1.c = 66.4、
&u1.a = 0061FEA0.
&u1.b = 0061FEA0.
the sizeof u1 is 8


4、小結(jié):


  • union的sizeof測(cè)到的大小實(shí)際是union中各個(gè)元素里面占用內(nèi)存最大的那個(gè)元素的大小。因?yàn)榭梢源娴南逻@個(gè)就一定能夠存的下其他的元素。


  • union中的元素不存在內(nèi)存對(duì)齊的問(wèn)題,因?yàn)閡nion中實(shí)際只有1個(gè)內(nèi)存空間,都是從同一個(gè)地址開(kāi)始的(開(kāi)始地址就是整個(gè)union占有的內(nèi)存空間的首地址),所以不涉及內(nèi)存對(duì)齊。


二、枚舉


1、什么是枚舉?


     枚舉在C語(yǔ)言中其實(shí)是一些符號(hào)常量集。直白點(diǎn)說(shuō):枚舉定義了一些符號(hào),這些符號(hào)的本質(zhì)就是int類型的常量,每個(gè)符號(hào)和一個(gè)常量綁定。這個(gè)符號(hào)就表示一個(gè)自定義的一個(gè)識(shí)別碼,編譯器對(duì)枚舉的認(rèn)知就是符號(hào)常量所綁定的那個(gè)int類型的數(shù)字。枚舉符號(hào)常量和其對(duì)應(yīng)的常量數(shù)字相對(duì)來(lái)說(shuō),數(shù)字不重要,符號(hào)才重要。符號(hào)對(duì)應(yīng)的數(shù)字只要彼此不相同即可,沒(méi)有別的要求。所以一般情況下我們都不明確指定這個(gè)符號(hào)所對(duì)應(yīng)的數(shù)字,而讓編譯器自動(dòng)分配。(編譯器自動(dòng)分配的原則是:從0開(kāi)始依次增加。如果用戶自己定義了一個(gè)值,則從那個(gè)值開(kāi)始往后依次增加)。


2、為什么要用枚舉,和宏定義做對(duì)比:

  

     (1)C語(yǔ)言沒(méi)有枚舉是可以的。使用枚舉其實(shí)就是對(duì)1、0這些數(shù)字進(jìn)行符號(hào)化編碼,這樣的好處就是編程時(shí)可以不用看數(shù)字而直接看符號(hào)。符號(hào)的意義是顯然的,一眼可以看出。而數(shù)字所代表的含義除非看文檔或者注釋。


    (2)宏定義的目的和意義是:不用數(shù)字而用符號(hào)。從這里可以看出:宏定義和枚舉有內(nèi)在聯(lián)系。宏定義和枚舉經(jīng)常用來(lái)解決類似的問(wèn)題,他們倆基本相當(dāng)可以互換,但是有一些細(xì)微差別。


    (3)宏定義和枚舉的區(qū)別:


  • 枚舉是將多個(gè)有關(guān)聯(lián)的符號(hào)封裝在一個(gè)枚舉中,而宏定義是完全散的。也就是說(shuō)枚舉其實(shí)是多選一。


    (4)使用枚舉情況:


  • 什么情況下用枚舉?當(dāng)我們要定義的常量是一個(gè)有限集合時(shí)(譬如一星期有7天,譬如一個(gè)月有31天,譬如一年有12個(gè)月····),最適合用枚舉。(其實(shí)宏定義也行,但是枚舉更好)


  • 不能用枚舉的情況下(定義的常量符號(hào)之間無(wú)關(guān)聯(lián),或者無(wú)限的),這個(gè)時(shí)候就用宏定義。


總結(jié):

 

       宏定義先出現(xiàn),用來(lái)解決符號(hào)常量的問(wèn)題;后來(lái)人們發(fā)現(xiàn)有時(shí)候定義的符號(hào)常量彼此之間有關(guān)聯(lián)(多選一的關(guān)系),用宏定義來(lái)做雖然可以但是不貼切,于是乎發(fā)明了枚舉來(lái)解決這種情況。


3、代碼示例:


a、幾種定義方法:


  /*        // 定義方法1,定義類型和定義變量分離開(kāi)
   enum week
   {
            SUN,        // SUN = 0
            MON,        // MON = 1;
            TUE,
            WEN,
            THU,
            FRI,
            SAT,
  };

  enum week today;
  */


  /*        // 定義方法2,定義類型的同時(shí)定義變量
   enum week
   {
            SUN,        // SUN = 0
            MON,        // MON = 1;
                TUE,
                WEN,
            THU,
            FRI,
            SAT,
    }today,yesterday;
  */


   /*        // 定義方法3,定義類型的同時(shí)定義變量
     enum 
     {
            SUN,        // SUN = 0
            MON,        // MON = 1;
            TUE,  
            WEN,
            THU,
            FRI,
            SAT,
    }today,yesterday;
     */


    /*        // 定義方法4,用typedef定義枚舉類型別名,并在后面使用別名進(jìn)行變量定義
          typedef enum week
          {
            SUN,        // SUN = 0
            MON,        // MON = 1;
            TUE,
            WEN,
            THU,
            FRI,
            SAT,
          }week;
   */


  /*        // 定義方法5,用typedef定義枚舉類型別名,并在后面使 
 用別名進(jìn)行變量定義
        typedef enum 
        {
            SUN,        // SUN = 0
            MON,        // MON = 1;
            TUE,
            WEN,
            THU,
            FRI,
            SAT,
          }week;


b、錯(cuò)誤類型舉例(下面的舉例中也加入了結(jié)構(gòu)體作為對(duì)比):


 /*    // 錯(cuò)誤1,枚舉類型重名,編譯時(shí)報(bào)錯(cuò):error: conflicting
//    types for ‘DAY’
      typedef enum workday
      {
             MON,       // MON = 1;
             TUE,
             WEN,
             THU,
             FRI,
       }DAY;

     typedef enum weekend
         {
            SAT,
            SUN,
         }DAY;
      */


     /*    // 錯(cuò)誤2,枚舉成員重名,編譯時(shí)報(bào)錯(cuò):redeclaration //of
  // enumerator ‘MON’
   typedef enum workday
      {
           MON,       // MON = 1;
          TUE,
          WEN,
          THU,
         FRI,
       }workday;

      typedef enum weekend
      {
         MON,
         SAT,
         SUN,
       }weekend;
     // 結(jié)構(gòu)體中元素可以重名
     typedef struct 
     {
        int a;
        char b;
     }st1;

      typedef struct 
      {
         int a;
         char b;
      }st2;
      */


說(shuō)明:

            

      經(jīng)過(guò)測(cè)試,兩個(gè)struct類型內(nèi)的成員名稱可以重名,而兩個(gè)enum類型中的成員不可以重名。實(shí)際上從兩者的成員在訪問(wèn)方式上的不同就可以看出了。struct類型成員的訪問(wèn)方式是:變量名.成員,而enum成員的訪問(wèn)方式為:成員名。因此若兩個(gè)enum類型中有重名的成員,那代碼中訪問(wèn)這個(gè)成員時(shí)到底指的是哪個(gè)enum中的成員呢?所以不能重名。但是兩個(gè)#define宏定義是可以重名的,該宏名真正的值取決于最后一次定義的值。編譯器會(huì)給出警告但不會(huì)error,下面的示例會(huì)讓編譯器發(fā)出A被重復(fù)定義的警告。


 #include <stdio.h>
 #define A  5
 #define A 7

 int main(void)
 
{
    printf("hello world\n");

   return 0;
  } 


c、代碼實(shí)戰(zhàn)演示:

#include <stdio.h>

   typedef enum week
   {
         SUN,       // SUN = 0
         MON,       // MON = 1;
         TUE,        //2
         WEN,        //3
         THU,
         FRI,
         SAT,
   }week;

  int main(void)
  
{



      // 測(cè)試定義方法4,5
        week today;
       today = WEN;
       printf("today is the %d th day in week\n", today);

       return 0;
  } 


演示結(jié)果:

  today is the 3 th day in week


d、接著我們把上面枚舉變量改變它的值(不按照編譯模式方式來(lái)),看看會(huì)發(fā)生什么變化:


  #include <stdio.h>

  typedef enum week
 {
      SUN,        // SUN = 0
     MON=8,      // MON = 1;
     TUE,        //2
     WEN,        //3
      THU,
      FRI,
     SAT,
 }week;

      int main(void)
      
{

          // 測(cè)試定義方法4,5
       week today,hh;
       today = WEN;
       hh=SUN;
       printf("today is the %d th day in week\n", SUN);
       printf("today is the %d th day in week\n", today);
       return 0;
  } 


演示結(jié)果(我們可以看到改變了枚舉成員值,它就在這個(gè)基礎(chǔ)遞增下面的成員值):


        today is the 0 th day in week
        today is the 10 th day in week


注意:

      

  • 這里要注意,只能把枚舉值賦予枚舉變量,不能把元素的數(shù)值直接賦予枚舉變量,如一定要把數(shù)值賦予枚舉變量,則必須用強(qiáng)制類型轉(zhuǎn)換,但是我在測(cè)試時(shí),發(fā)現(xiàn)編譯器居然可以這樣賦值,讀者最好自己測(cè)試一下(不過(guò)這里后面發(fā)現(xiàn)在c語(yǔ)言里面可以這樣操作,在c++里面不可以這樣操作,必須強(qiáng)制類型轉(zhuǎn)換)。


  • 枚舉元素不是字符常量也不是字符串常量,使用時(shí)不要加單、雙引號(hào)。


  • 枚舉類型是一種基本數(shù)據(jù)類型,而不是一種構(gòu)造類型,因?yàn)樗荒茉俜纸鉃槿魏位绢愋汀?/p>


  • 枚舉值是常量,不是變量。


三、大小端模式:


1、什么是叫大小端模式?


     a、什么叫大端模式(big-endian)?


           在這種格式中,字?jǐn)?shù)據(jù)的高字節(jié)存儲(chǔ)在低地址中,而字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中。


   b、什么叫小端模式(little-endian)?


    與大端存儲(chǔ)格式相反,在小端存儲(chǔ)格式中,低地址中存放的是字?jǐn)?shù)據(jù)的低字節(jié),高地址存放的是字?jǐn)?shù)據(jù)的高字節(jié)。


2、實(shí)際解釋:


  ----- 我們把一個(gè)16位的整數(shù)0x1234存放到一個(gè)短整型變量(short)中。這個(gè)短整型變量在內(nèi)存中的存儲(chǔ)在大小端模式由下表所示:


地址偏移

大端模式

小端模式

0x00

12

34

0x01

34

12


 說(shuō)明:

        由上表所知,采用大小模式對(duì)數(shù)據(jù)進(jìn)行存放的主要區(qū)別在于在存放的字節(jié)順序,大端方式將高位存放在低地址,小端方式將低位存放在低地址。


3、代碼實(shí)戰(zhàn)來(lái)判斷大小端模式:


#include <stdio.h>

    // 共用體中很重要的一點(diǎn):a和b都是從u1的低地址開(kāi)始的。
   // 假設(shè)u1所在的4字節(jié)地址分別是:0、1、2、3的話,那么a自然就是0、1、2、3;
  // b所在的地址是0而不是3.
    union myunion
    {
        int a;
        char b;
     };

    // 如果是小端模式則返回1,小端模式則返回0
      int is_little_endian(void)
     
{
          union myunion u1;
          u1.a = 1;             // 地址0的那個(gè)字節(jié)內(nèi)是1(小端)或者0(大端)
          return u1.b;
   }

  int is_little_endian2(void)
  
{
         int a = 1;
         char b = *((char *)(&a));      // 指針?lè)绞狡鋵?shí)就是共用體的本質(zhì)

         return b;
 }


      int main(void)
      
{
       int i = is_little_endian2();
      if (i == 1)
     {
           printf("小端模式\n");
     }
     else
    {
          printf("大端模式\n");
    }

        return 0;
    }


演示結(jié)果:

                 

  這是小端模式


4、看似可行實(shí)則不行的測(cè)試大小端方式:位與、移位、強(qiáng)制類型轉(zhuǎn)化:


    #include <stdio.h>


    int main(void)
    
{
              // 強(qiáng)制類型轉(zhuǎn)換
              int a;
              char b;
              a = 1;
              b = (char)a;
             printf("b = %d.\n", b);  // b=1

                   /*
                // 移位
                 int a, b;
                 a = 1;
                 b = a >> 1;
                 printf("b = %d.\n", b);    //b=0
                  */

               /*
       // 位與
        int a = 1;
        int b = a & 0xff;       // 也可以寫成:char b
        printf("b = %d.\n", b);   //b=1  
     */



           return 0;
     }


說(shuō)明:


(1)位與運(yùn)算:


   結(jié)論:位與的方式無(wú)法測(cè)試機(jī)器的大小端模式。(表現(xiàn)就是大端機(jī)器和小    端機(jī)器的&運(yùn)算后的值相同的)

   理論分析:位與運(yùn)算是編譯器提供的運(yùn)算,這個(gè)運(yùn)算是高于內(nèi)存層次的(或者說(shuō)&運(yùn)算在二進(jìn)制層次具有可移植性,也就是說(shuō)&的時(shí)候一定是高字節(jié)&高字節(jié),低字節(jié)&低字節(jié),和二進(jìn)制存儲(chǔ)無(wú)關(guān))。


(2)移位:


    結(jié)論:移位的方式也不能測(cè)試機(jī)器大小端。

    理論分析:原因和&運(yùn)算符不能測(cè)試一樣,因?yàn)镃語(yǔ)言對(duì)運(yùn)算符的級(jí)別是高于二進(jìn)制層次的。右移運(yùn)算永遠(yuǎn)是將低字節(jié)移除,而和二進(jìn)制存儲(chǔ)時(shí)這個(gè)低字節(jié)在高位還是低位無(wú)關(guān)的。


(3)強(qiáng)制類型轉(zhuǎn)換和上面分析一樣的。


5、通信系統(tǒng)中的大小端(數(shù)組的大小端)

(1)譬如要通過(guò)串口發(fā)送一個(gè)0x12345678給接收方,但是因?yàn)榇诒旧硐拗?,只能以字?jié)為單位來(lái)發(fā)送,所以需要發(fā)4次;接收方分4次接收,內(nèi)容分別是:0x12、0x34、0x56、0x78.接收方接收到這4個(gè)字節(jié)之后需要去重組得到0x12345678(而不是得到0x78563412)。


(2)所以在通信雙方需要有一個(gè)默契,就是:先發(fā)/先接的是高位還是低位?這就是通信中的大小端問(wèn)題。


(3)一般來(lái)說(shuō)是:先發(fā)低字節(jié)叫小端;先發(fā)高字節(jié)就叫大端。在實(shí)際操作中,在通信協(xié)議里面會(huì)去定義大小端,明確告訴你先發(fā)的是低字節(jié)還是高字節(jié)。


(4)在通信協(xié)議中,大小端是非常重要的,大家使用別人定義的通信協(xié)議還是自己要去定義通信協(xié)議,一定都要注意標(biāo)明通信協(xié)議中大小端的問(wèn)題。


四、總結(jié):


        上面分享了一些我們常用的一些用法,掌握了這些就可以了,當(dāng)日后工作中有其他用法,再總結(jié)歸納,完善自己的知識(shí)體系。


叨叨一下,最近建了一個(gè)學(xué)習(xí)群,用于學(xué)習(xí)交流,需要加群的,加微信號(hào):cyuyan2020,備注:加群

點(diǎn)【在看】是最大的支持 

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉