亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
樓主: moonwhite999
打印 上一主題 下一主題

兩道嵌入式面試題 [復(fù)制鏈接]

論壇徽章:
0
51 [報告]
發(fā)表于 2010-03-23 11:26 |只看該作者
感覺是靠應(yīng)屆生的題目,樓主偶猜的對嗎?

論壇徽章:
0
52 [報告]
發(fā)表于 2010-03-23 16:23 |只看該作者
回復(fù) 1# moonwhite999


    至于第一個問題,先不考慮編譯器的原因,在這種情況下前一種方式相對優(yōu)化,至于原因就是對if(·····)的判斷次數(shù)。

如果考慮到編譯器,就無話可說了。每個編譯器都不一樣,以后發(fā)展了說不定在頭上插兩個電線。電腦就能編程呢。

第二個問題,可以設(shè)置一個1維數(shù)組,具體要看字符種類有多少。如果是26個字母的話,就設(shè)置A[26]夠了。初始化數(shù)據(jù)A[]=27
從字符串末尾掃描,遇到一個字符串如果它在數(shù)組中對應(yīng)數(shù)值不是27話,說明該字符已經(jīng)多次出現(xiàn)不用理會,否則就在數(shù)組多對應(yīng)位置填入該字符在字符串中的位置數(shù)字。

一輪掃描結(jié)束后,每個字符具體在字符串中的位置信息已經(jīng)記錄在數(shù)組中了。只要判斷數(shù)組特征就可以知道答案。

論壇徽章:
0
53 [報告]
發(fā)表于 2010-03-23 16:33 |只看該作者
哈哈,很早的東西了,

論壇徽章:
0
54 [報告]
發(fā)表于 2010-03-24 13:00 |只看該作者
說到嵌入式我以為我會看到
編碼規(guī)則
變量對齊
端口映射地址讀取方法
任務(wù)優(yōu)先級與中斷引起的內(nèi)存鎖
之類的題目。

可是我卻還是看到了這些計算機競賽初級班的題目。

論壇徽章:
0
55 [報告]
發(fā)表于 2010-03-24 13:09 |只看該作者
回復(fù) 48# 專操五毛

學(xué)習(xí)學(xué)習(xí),繼續(xù)學(xué)習(xí)。。。

論壇徽章:
0
56 [報告]
發(fā)表于 2010-03-29 16:50 |只看該作者
個人認(rèn)為,面試官最好多問解決問題的思路上的東西,比如從什么地方入手,思想方法。不要扣住一些知識細(xì)節(jié)問到底。所有的實現(xiàn)都是由應(yīng)用引發(fā)的。比如 一般情況下創(chuàng)建子進(jìn)程回拷貝父進(jìn)程頁面,但是在沒有MMU的uClinux下為了節(jié)省時間,父子進(jìn)程是共享頁面的。只要解決問題思路對,就行了。

論壇徽章:
0
57 [報告]
發(fā)表于 2010-03-30 14:52 |只看該作者
本帖最后由 lyscsu 于 2010-03-30 14:57 編輯

第一道題
1、業(yè)務(wù)邏輯:看i是否影響condition的計算,同時看分支是否改變i的值
2、性能和空間要求
第二道題
使用glibc函數(shù)
char find_first_once_char(char * s)
{
        if(!s)
        {
                return 0;
        }

        while(*s)
        {
                if(!strchr(s+1, *s))
                {
                        break;
                }

                s++;
        }

        return *s
}

不使用glibc函數(shù)
char find_first_once_char(char * s)
{
        if(!s)
        {
                return 0;
        }
       
        while(*s)
        {
                char * p = s+1;

                while(*p && (*p!=*s))
                {
                        p++;
                }

                if(*p)
                {
                        s++;
                }
                else
                {
                        break;
                }
        }

        return *s
}

論壇徽章:
0
58 [報告]
發(fā)表于 2010-06-24 00:56 |只看該作者
學(xué)習(xí)了

論壇徽章:
0
59 [報告]
發(fā)表于 2010-06-24 01:22 |只看該作者
int condition;

void DoSomeThing()
{
   return;
}

void DoOtherThing()
{
   return;
}

int fun1(int N)
{
   int i;
   for(i=1;i<N;i++)
    {
           if(condition)
              DoSomeThing();
           else
              DoOtherThing();
    }
    return(i);
}
int fun2(int N)
{
    int i;
    if(condition)
    {
          for(i=1;i<N;i++)
               DoSomeThing();
    }
    else
    {
          for(i=1;i<N;i++)
              DoOtherThing();
    }
   return(i);
}

int main()
{
   
   fun1(100);
   fun2(100);
   return(0);
}

論壇徽章:
0
60 [報告]
發(fā)表于 2010-06-24 01:24 |只看該作者
output: arm asm


        .file        "test_arm.c"
        .text
        .align        2
        .global        DoSomeThing
        .type        DoSomeThing, %function
DoSomeThing:
        @ args = 0, pretend = 0, frame = 0
        @ frame_needed = 1, uses_anonymous_args = 0
        mov        ip, sp
        stmfd        sp!, {fp, ip, lr, pc}
        sub        fp, ip, #4
        ldmfd        sp, {fp, sp, pc}
        .size        DoSomeThing, .-DoSomeThing
        .align        2
        .global        DoOtherThing
        .type        DoOtherThing, %function
DoOtherThing:
        @ args = 0, pretend = 0, frame = 0
        @ frame_needed = 1, uses_anonymous_args = 0
        mov        ip, sp
        stmfd        sp!, {fp, ip, lr, pc}
        sub        fp, ip, #4
        ldmfd        sp, {fp, sp, pc}
        .size        DoOtherThing, .-DoOtherThing
        .align        2
        .global        fun1
        .type        fun1, %function
fun1:
        @ args = 0, pretend = 0, frame = 8
        @ frame_needed = 1, uses_anonymous_args = 0
        mov        ip, sp
        stmfd        sp!, {fp, ip, lr, pc}
        sub        fp, ip, #4
        sub        sp, sp, #8
        str        r0, [fp, #-16]
        mov        r3, #1
        str        r3, [fp, #-20]
.L4:
        ldr        r2, [fp, #-20]
        ldr        r3, [fp, #-16]
        cmp        r2, r3
        bge        .L5
        ldr        r3, .L9
        ldr        r3, [r3, #0]
        cmp        r3, #0
        beq        .L7
        bl        DoSomeThing
        b        .L6
.L7:
        bl        DoOtherThing
.L6:
        ldr        r3, [fp, #-20]
        add        r3, r3, #1
        str        r3, [fp, #-20]
        b        .L4
.L5:
        ldr        r3, [fp, #-20]
        mov        r0, r3
        sub        sp, fp, #12
        ldmfd        sp, {fp, sp, pc}
.L10:
        .align        2
.L9:
        .word        condition
        .size        fun1, .-fun1
        .align        2
        .global        fun2
        .type        fun2, %function
fun2:
        @ args = 0, pretend = 0, frame = 8
        @ frame_needed = 1, uses_anonymous_args = 0
        mov        ip, sp
        stmfd        sp!, {fp, ip, lr, pc}
        sub        fp, ip, #4
        sub        sp, sp, #8
        str        r0, [fp, #-16]
        ldr        r3, .L20
        ldr        r3, [r3, #0]
        cmp        r3, #0
        beq        .L12
        mov        r3, #1
        str        r3, [fp, #-20]
.L13:
        ldr        r2, [fp, #-20]
        ldr        r3, [fp, #-16]
        cmp        r2, r3
        bge        .L16
        bl        DoSomeThing
        ldr        r3, [fp, #-20]
        add        r3, r3, #1
        str        r3, [fp, #-20]
        b        .L13
.L12:
        mov        r3, #1
        str        r3, [fp, #-20]
.L17:
        ldr        r2, [fp, #-20]
        ldr        r3, [fp, #-16]
        cmp        r2, r3
        bge        .L16
        bl        DoOtherThing
        ldr        r3, [fp, #-20]
        add        r3, r3, #1
        str        r3, [fp, #-20]
        b        .L17
.L16:
        ldr        r3, [fp, #-20]
        mov        r0, r3
        sub        sp, fp, #12
        ldmfd        sp, {fp, sp, pc}
.L21:
        .align        2
.L20:
        .word        condition
        .size        fun2, .-fun2
        .align        2
        .global        main
        .type        main, %function
main:
        @ args = 0, pretend = 0, frame = 0
        @ frame_needed = 1, uses_anonymous_args = 0
        mov        ip, sp
        stmfd        sp!, {fp, ip, lr, pc}
        sub        fp, ip, #4
        mov        r0, #100
        bl        fun1
        mov        r0, #100
        bl        fun2
        mov        r3, #0
        mov        r0, r3
        ldmfd        sp, {fp, sp, pc}
        .size        main, .-main
        .comm        condition,4,4
        .ident        "GCC: (GNU) 3.4.4"
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP