Lines not pulsed fast enough (?))
The code content works fine while compiled as an Arduino program - that is, using the proper setup() and loop() structure:

void setup() {
    DDRB |= (1 &lt;&lt; PB4);       
    DDRB |= (1 &lt;&lt; PB3);       
    while (1) {
        PORTB &amp;= ~(1 &lt;&lt; PB4);        
        PORTB &amp;= ~(1 &lt;&lt; PB3);        
        delay(1);
        PORTB |= (1 &lt;&lt; PB4);        
        PORTB |= (1 &lt;&lt; PB3);        
        delay(1);
    }
}

void loop() {
}


However the same code will not work when using it in main(). This is simply because delay() will never work. Normally main() calls init() which then configures TIMER0 to generate the millis() and micros() count used for the delay() functions. 

So either use setup() and loop() instead of main(), or make your program call init() before anything else:

int main() {

    init();

    DDRB |= (1 &lt;&lt; PB4);       
    DDRB |= (1 &lt;&lt; PB3);       
    while (1) {
        PORTB &amp;= ~(1 &lt;&lt; PB4);        
        PORTB &amp;= ~(1 &lt;&lt; PB3);        
        delay(1);
        PORTB |= (1 &lt;&lt; PB4);        
        PORTB |= (1 &lt;&lt; PB3);        
        delay(1); 
    }
    return 0;
}