早期的槍管使用的槍彈也多是一些大小不一的鐵粒或鉛丸,當彈丸和槍膛之間的空隙過小時,裝填彈丸很費力,且不易裝填密實。若彈丸和槍膛之間的空隙過大,發射時密閉性不好,火藥氣體就會從這些空隙中泄漏出去,使槍的射擊準確度降低或射程減少。而且,即使彈丸和槍膛之間間隙很小,子彈離開槍口後,在空中飛行時仍像一個醉漢,不是東搖西晃,就是頭朝後翻跟頭,既打不遠,又打不準。這些槍也被稱為“滑膛槍”。

古代的火槍大都是從槍口裝填彈藥,槍膛內無膛線的前裝式槍為滑膛槍。滑膛槍曾在中世紀後風行一時,但由於當時科技條件有限,射程比較有限,約為100米左右。而且暴露出了精度不足(其槍膛口徑大於子彈口徑),不如原始的線膛槍(其膛線是直的)的問題。自1838年法國軍官德爾文發明第一支現代步槍(帶旋轉膛線)後,前裝滑膛槍便逐漸退出了軍隊。而且滑膛槍射出的子彈需要額外的穩定措施(如尾翼等)增加子彈複雜度,增加裝備成本。

中國13世紀中葉發明的發射子窠的突火槍,是滑膛槍的鼻祖。19世紀中葉以前使用的火門槍、火繩槍、燧發槍和擊發槍多係前裝滑膛槍,現代滑膛槍多係後裝滑膛槍。軍用滑膛槍今後將朝提高射程,減小後坐力,減輕重量,快速裝彈,改善外觀,增加發射彈種等方向發展。

最早的槍膛內帶有膛線的火槍誕生於15世紀初的德國。但當時還隻是直線形的溝槽,這是為了更方便從槍口裝填彈丸。據文獻記載,意大利最早在1476年就已有螺旋形線膛的槍支。螺旋形膛線可使彈丸在空氣中穩定地旋轉飛行,提高射擊準確性和射程。“膛線”英文為rifile,音譯為“來複”,線膛槍也因此稱為“來複槍”。17世紀初,丹麥軍隊最先裝備使用了來複槍。但由於來複線製作成本高和從槍口裝填彈藥不便,所以許多國家的軍隊不願裝備使用有螺旋形膛線的槍。

也不是所有的槍均改成了線膛槍,滑膛槍也還在使用,如霰彈槍就采用滑膛,打獵用的獵槍由於要求的射擊距離不遠,又使用霰彈,故也采用滑膛槍。此外,箭形彈等一些特種槍彈也采用滑膛,因為它主要靠尾翼穩定,不需要線膛來幫助了。

步槍的發展過程基本上與手槍類似,都經過火繩槍、燧發槍、前裝槍、後裝槍、線膛槍等幾個階段,以後又由非自動改進發展成半自動和全自動槍等。

實際上,步槍之起源,最早的記載是中國南宋時期出現的竹管突火槍,這是世界上最早的管形射擊火器。隨後,又發明了金屬管形射擊武器——火銃,到明代又有了更大的發展。

公元1132年,中國南宋的軍事家陳規發明了一種火槍,這是世界軍事史上最早的管形火器,它可稱為現代管形火器的鼻祖。到了南宋開慶元年(1259年)壽春府人創造了一種突火槍,該槍用巨竹做槍筒,發射子窠(內裝黑火藥、瓷片、碎鐵、石子等)。燃放時,膛口噴火焰,子窠飛出散開殺傷對陣的敵人,這是現代霰彈槍的真正起源。

公元13世紀,中國的火藥和金屬管形火器傳入歐洲,火槍得到了較快的發展。15世紀初,西班牙人研製出了火繩槍。後來,被明王朝仿製,稱之為鳥銃,直到公元1525年,意大利人芬奇發明了燧發槍,將火繩點火改為燧石點火,才逐漸克服了氣候的影響,且簡化了射擊程序,提高了射擊精度,可隨時發射。